#! /usr/bin/env python
import argparse
import logging
import os.path

from opentc.util import setup_logging, setup_config

from opentc.core.training import Training

if __name__ == "__main__":
    config_directories = [os.curdir, os.path.expanduser("~/.opentc"), "/etc/opentc", os.environ.get("OPENTC_CONF_DIR")]
    parser = argparse.ArgumentParser()
    parser.add_argument("-c", "--classifier",
                        help="set classifier to use for the training (support currently bayesian, svm or cnn)")
    parser.add_argument("-C", "--configuration_file", help="set the configuration file")
    parser.add_argument("-d", "--dataset", help="set dataset to use for the training")
    parser.add_argument("-l", "--log_configuration_file", help="set the log configuration file")
    args = parser.parse_args()

    setup_logging(config_directories=config_directories, config_file=args.log_configuration_file)
    logger = logging.getLogger(__name__)
    cfg = setup_config(config_directories=config_directories, config_file=args.configuration_file)

    training = Training(cfg["training"])
    training.start(cn=args.classifier, dn=args.dataset)


