summaryrefslogtreecommitdiffstats
path: root/snips_inference_agl/cli/__init__.py
blob: ccfbf18b439850629345f3c45534f610c2b2f923 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import argparse


class Formatter(argparse.ArgumentDefaultsHelpFormatter):
    def __init__(self, prog):
        super(Formatter, self).__init__(prog, max_help_position=35, width=150)


def get_arg_parser():
    from snips_inference_agl.cli.inference import add_parse_parser
    from snips_inference_agl.cli.versions import (
        add_version_parser, add_model_version_parser)

    arg_parser = argparse.ArgumentParser(
        description="Snips NLU command line interface",
        prog="python -m snips_nlu", formatter_class=Formatter)
    arg_parser.add_argument("-v", "--version", action="store_true",
                            help="Print package version")
    subparsers = arg_parser.add_subparsers(
        title="available commands", metavar="command [options ...]")
    add_parse_parser(subparsers, formatter_class=Formatter)
    add_version_parser(subparsers, formatter_class=Formatter)
    add_model_version_parser(subparsers, formatter_class=Formatter)
    return arg_parser


def main():
    from snips_inference_agl.__about__ import __version__

    arg_parser = get_arg_parser()
    args = arg_parser.parse_args()

    if hasattr(args, "func"):
        args.func(args)
    elif "version" in args:
        print(__version__)
    else:
        arg_parser.print_help()
        exit(1)