#!/usr/bin/env python
from __future__ import print_function
import argparse
import os
import sys

from ascii2hdf5 import replace_ext
from ascii2hdf5 import ascii2hdf5

def main(argv):
    """Main function for the ascii2hdf5 script """

    parser = argparse.ArgumentParser(description="Convert ascii file(s) to hdf5")

    parser.add_argument('-f', '--force', action='store_true',
                        help='overwrite hdf5 file if it exists')

    parser.add_argument('-c', '--clobber', action='store_true',
                        help='remove input ascii file')

    parser.add_argument('-v', '--verbose', action='store_true',
                        help='verbose output')

    parser.add_argument('name', nargs='*', type=str,
                        help='ascii file(s) to convert')

    args = parser.parse_args(argv)

    for inpname in args.name:
        if not os.path.isfile(inpname):
            print('{} not found, skipping'.format(inpname))
            continue

        outpname = replace_ext(inpname, '.hdf5')

        if not args.force and os.path.isfile(outpname):
            print('{} exists, not overwriting (use -f to overwrite)'.format(outpname))
            continue

        ascii2hdf5(inpname, outpname, clobber=args.clobber,
                   overwrite=args.force, verbose=args.verbose)

if __name__ == '__main__':
    main(sys.argv[1:])
