From 3fa38fa7c5eda22843e928cf6f7a544c5bc26783 Mon Sep 17 00:00:00 2001 From: Dima Gerasimov Date: Thu, 14 May 2020 22:55:58 +0100 Subject: [PATCH] add main HPI executable --- my/__main__.py | 30 ++++++++++++++++++++++++++++++ setup.py | 1 + tox.ini | 1 + 3 files changed, 32 insertions(+) create mode 100644 my/__main__.py diff --git a/my/__main__.py b/my/__main__.py new file mode 100644 index 0000000..6ac0aad --- /dev/null +++ b/my/__main__.py @@ -0,0 +1,30 @@ +class Modes: + HELLO = 'hello' + + +def parser(): + from argparse import ArgumentParser + p = ArgumentParser('Human Programming Interface', epilog=''' +Tool for HPI. + +Work in progress, will be used for config management, troubleshooting & introspection +''') + sp = p.add_subparsers(dest='mode') + sp.add_parser(Modes.HELLO, help='TODO just a stub, remove later') + return p + + +def main(): + p = parser() + args = p.parse_args() + mode = args.mode + if mode == Modes.HELLO: + print('hi') + else: + import sys + p.print_usage() + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/setup.py b/setup.py index b2c78e3..e6edf26 100644 --- a/setup.py +++ b/setup.py @@ -66,6 +66,7 @@ def main(): 'dataclasses', ], }, + entry_points={'console_scripts': ['hpi=my.__main__:main']}, ) diff --git a/tox.ini b/tox.ini index 82efab2..ba5ac70 100644 --- a/tox.ini +++ b/tox.ini @@ -17,6 +17,7 @@ commands = # TODO add; once I figure out porg depdencency?? tests/config.py # TODO run demo.py? just make sure with_my is a bit cleverer? # TODO e.g. under CI, rely on installing + hpi hello [testenv:demo]