From 67718cb443113c88e623e8adac57be5568a60c97 Mon Sep 17 00:00:00 2001 From: Sulochan Acharya Date: Tue, 18 Oct 2016 17:01:35 +0100 Subject: [PATCH] Adds console script and fix command line parsing - Adds console script so that we can run craton from the shell. - Some simple cleanup. Change-Id: Ic50ee734d7e60190d6f7808c63f782c2c20589d3 --- cratonclient/shell/main.py | 6 ++---- setup.cfg | 6 +++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/cratonclient/shell/main.py b/cratonclient/shell/main.py index b52287f..0b366eb 100644 --- a/cratonclient/shell/main.py +++ b/cratonclient/shell/main.py @@ -117,26 +117,24 @@ class CratonShell(object): ) self.parser = subcommand_parser - if options.help or not argv: + if options.help or ('help' in argv) or not argv: parser.print_help() return 0 args = subcommand_parser.parse_args(argv) - session = craton.Session( username=args.os_username, token=args.os_password, project_id=args.craton_project_id, ) self.cc = client.Client(session, args.craton_url) - args.func(self.cc, args) def main(): """Main entry-point for cratonclient's CLI.""" try: - CratonShell().main(map(encodeutils.safe_decode, sys.argv[1:])) + CratonShell().main([encodeutils.safe_decode(a) for a in sys.argv[1:]]) except Exception as e: print("ERROR: %s" % encodeutils.safe_encode(six.text_type(e)), file=sys.stderr) diff --git a/setup.cfg b/setup.cfg index ffc9b21..f36a76c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -23,6 +23,10 @@ classifier = packages = cratonclient +[entry_points] +console_scripts = + craton = cratonclient.shell.main:main + [build_sphinx] source-dir = doc/source build-dir = doc/build @@ -43,4 +47,4 @@ input_file = cratonclient/locale/cratonclient.pot [extract_messages] keywords = _ gettext ngettext l_ lazy_gettext mapping_file = babel.cfg -output_file = cratonclient/locale/cratonclient.pot \ No newline at end of file +output_file = cratonclient/locale/cratonclient.pot