#! /usr/bin/env python3

"""\
Generate a minimal text-data file listing available analyses
"""

## Parse arguments
import argparse
ap = argparse.ArgumentParser(usage=__doc__)
ap.add_argument("OUTNAME", nargs="?", default="analyses", help="name (minus extension) to give to the output files and dirs")
args = ap.parse_args()

import rivet
import sys, os, re


## Get output filename
OUTFILE = f"{args.OUTNAME}.dat"
print("Using output file name '%s'" % OUTFILE)

## Add info file locations
import rivet
from glob import glob
dirpatt = os.path.join(os.getcwd(), "..", "..", "analyses", "plugin*")
for d in glob(dirpatt):
    rivet.addAnalysisDataPath(os.path.abspath(d))


## The entire content is just the list of analysis names
outstr = '\n'.join(list(rivet.analysisNames()))


## Write out
if args.OUTNAME == "-":
    sys.stdout.write(outstr)
else:
    with open(OUTFILE, "w") as f:
        f.write(outstr)
