From 1e4d3aa605a70ed4d40cb2d27cf66c54dc3f6013 Mon Sep 17 00:00:00 2001 From: Sorin Sbarnea Date: Thu, 28 Jun 2018 22:57:16 +0100 Subject: [PATCH] Assure executable name is kept when app is called as module - Detects module name if needed - Updates demoapp Change-Id: Ie0cd9d507fcb4c32ab98e51f61741d529ff41cac Closes-Bug: 1779218 Signed-off-by: Sorin Sbarnea --- cliff/app.py | 5 ++++- demoapp/cliffdemo/__main__.py | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 demoapp/cliffdemo/__main__.py diff --git a/cliff/app.py b/cliff/app.py index b6392edf..f490a5ca 100644 --- a/cliff/app.py +++ b/cliff/app.py @@ -54,6 +54,8 @@ class App(object): """ NAME = os.path.splitext(os.path.basename(sys.argv[0]))[0] + if NAME == '__main__': + NAME = os.path.split(os.path.dirname(sys.argv[0]))[-1] LOG = logging.getLogger(NAME) CONSOLE_MESSAGE_FORMAT = '%(message)s' @@ -150,7 +152,7 @@ class App(object): parser.add_argument( '--version', action='version', - version='%(prog)s {0}'.format(version), + version='{0} {1}'.format(App.NAME, version), ) verbose_group = parser.add_mutually_exclusive_group() verbose_group.add_argument( @@ -242,6 +244,7 @@ class App(object): :param argv: input arguments and options :paramtype argv: list of str """ + try: self.options, remainder = self.parser.parse_known_args(argv) self.configure_logging() diff --git a/demoapp/cliffdemo/__main__.py b/demoapp/cliffdemo/__main__.py new file mode 100644 index 00000000..e49cbfc5 --- /dev/null +++ b/demoapp/cliffdemo/__main__.py @@ -0,0 +1,6 @@ +import sys +from cliffdemo.main import main + + +if __name__ == '__main__': + sys.exit(main(sys.argv[1:]))