#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""hwrt, the handwriting recognition toolkit, is a set of executable scripts
   and Python modules that are useful for handwriting recognition.

   Current scripts include: analyze_data.py, backup.py, download.py, view.py

   For train.py, test.py and get_top_n_error.py you will need an internal
   toolkit for training of neural networks.
"""


import argparse

# hwrt modules
import hwrt
from hwrt import create_pfiles
from hwrt import create_model


def get_parser():
    """Return the parser object for this script."""
    parser = argparse.ArgumentParser(description=__doc__,
                                     prog='hwrt')
    subparsers = parser.add_subparsers(dest='cmd')
    subparsers.add_parser('create_pfiles',
                          add_help=False,
                          description="Create pfiles",
                          parents=[create_pfiles.get_parser()])
    subparsers.add_parser('create_model',
                          add_help=False,
                          parents=[create_model.get_parser()])
    parser.add_argument('--version',
                        action='version',
                        version=('hwrt %s' % str(hwrt.__version__)))
    parser.add_argument('--check',
                        action='store_true',
                        default=False)
    return parser


def main(check):
    if check:
        from hwrt import selfcheck
        selfcheck.main()

if __name__ == '__main__':
    args = get_parser().parse_args()
    main(args.check)
