#!/usr/bin/env python
import argparse
import argparse
from dnadrive import dnadrive
parser = argparse.ArgumentParser(description='DNAdrive command line interface')

parser.add_argument('-i', '--infile', nargs='?',  help='input file')
parser.add_argument('-o', '--outfile', nargs='?', help='output file')
parser.add_argument('-str', '--string', nargs='?', help='input string')
parser.add_argument('-v', '--variant', nargs='?', help='input string')

parser.add_argument('-s',action='store_true',default=False)
parser.add_argument('-f',action='store_true',default=False)

parser.add_argument('-e',action='store_true',default=False)
parser.add_argument('-d',action='store_true',default=False)

if __name__ == '__main__':
    args = parser.parse_args()
    if not (args.e or args.d):
        raise Exception("Must specify -e or -d")
    if (args.e and args.d):
        raise Exception("Must specify -e OR -d")

    if args.e:
        if args.string:
            print dnadrive.encode_string(args.string)
        elif args.infile:
            variant = int(args.variant)
            dnadrive.encode_file(args.infile,args.outfile,variant)
        else:
            raise Exception('No File detected Error')

    if args.d:
        if args.string:
            print dnadrive.decode_string(args.string)
        elif args.infile:
            dnadrive.decode_file(args.infile,args.outfile)
        else:
            raise Exception('No File detected Error')
