diff options
Diffstat (limited to 'snips_inference_agl/cli/__init__.py')
-rw-r--r-- | snips_inference_agl/cli/__init__.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/snips_inference_agl/cli/__init__.py b/snips_inference_agl/cli/__init__.py new file mode 100644 index 0000000..ccfbf18 --- /dev/null +++ b/snips_inference_agl/cli/__init__.py @@ -0,0 +1,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) |