#!/home/fabien/.virtualenvs/knmt_test1/bin/python

import argparse
import nmt_chainer.train as train
import nmt_chainer.eval as eval
import nmt_chainer.make_data as make_data

# create the top-level parser
parser = argparse.ArgumentParser(description = "Kyoto-NMT: an Implementation of the RNNSearch model", 
                                     formatter_class = argparse.ArgumentDefaultsHelpFormatter)
subparsers = parser.add_subparsers()

# create the parser for the "make_data" command
parser_make_data = subparsers.add_parser('make_data', description= "Prepare data for training.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
make_data.define_parser(parser_make_data)
parser_make_data.set_defaults(func = make_data.do_make_data)

# create the parser for the "train" command
parser_train = subparsers.add_parser('train', description= "Train a model.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
train.define_parser(parser_train)
parser_train.set_defaults(func = train.do_train)

# create the parser for the "eval" command
parser_eval = subparsers.add_parser('eval', description= "Use a model.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
eval.define_parser(parser_eval)
parser_eval.set_defaults(func = eval.do_eval)

args = parser.parse_args()
args.func(args)