From f856a520d06ff2cbd40f762527f687b0adbbbc73 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Tue, 14 Apr 2020 10:22:34 +0200 Subject: [PATCH 1/2] Some minor changes to command line switches --- nw/__init__.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/nw/__init__.py b/nw/__init__.py index f3766e6c..7d9092d3 100644 --- a/nw/__init__.py +++ b/nw/__init__.py @@ -77,19 +77,19 @@ def main(sysArgs=None): sysArgs = sys.argv[1:] # Valid Input Options - shortOpt = "hdiql:v" + shortOpt = "hvidVql:" longOpt = [ "help", - "debug", + "version", "info", + "debug", "verbose", "quiet", "logfile=", - "version", + "style=", "config=", "data=", "testmode", - "style=", ] helpMsg = ( @@ -100,14 +100,14 @@ def main(sysArgs=None): " -h, --help Print this message.\n" " -v, --version Print program version and exit.\n" " -i, --info Print additional runtime information.\n" - " -d, --debug Print debug output.\n" - " --verbose Increase verbosity of debug output.\n" + " -d, --debug Print debug output. Includes -i.\n" + " -V, --verbose Increase verbosity of debug output. Includes -d.\n" " -q, --quiet Disable output to command line. Does not affect log file.\n" " -l, --logfile= Specify log file.\n" - " --style= Set Qt5 style flag. Defaults to 'Fusion'.\n" + " --style= Sets Qt5 style flag. Defaults to 'Fusion'.\n" " --config= Alternative config file.\n" " --data= Alternative user data path.\n" - " --headless Do not display GUI. Useful for testing scripts.\n" + " --testmode Do not display GUI. Used by the test suite.\n" ).format( appname = __package__, version = __version__, @@ -117,7 +117,7 @@ def main(sysArgs=None): # Defaults debugLevel = logging.WARN - debugStr = "{levelname:8} {message:}" + logFormat = "{levelname:8} {message:}" logFile = "" toFile = False toStd = True @@ -148,14 +148,15 @@ def main(sysArgs=None): debugLevel = logging.INFO elif inOpt in ("-d", "--debug"): debugLevel = logging.DEBUG - debugStr = "[{asctime:}] {name:>30}:{lineno:<4d} {levelname:8} {message:}" + logFormat = "[{asctime:}] {name:>30}:{lineno:<4d} {levelname:8} {message:}" elif inOpt in ("-l","--logfile"): logFile = inArg toFile = True elif inOpt in ("-q","--quiet"): toStd = False - elif inOpt in ("--verbose"): + elif inOpt in ("-V","--verbose"): debugLevel = VERBOSE + logFormat = "[{asctime:}] {name:>30}:{lineno:<4d} {levelname:8} {message:}" elif inOpt in ("--style"): qtStyle = inArg elif inOpt in ("--config"): @@ -171,7 +172,7 @@ def main(sysArgs=None): CONFIG.cmdOpen = cmdOpen # Set Logging - logFmt = logging.Formatter(fmt=debugStr,datefmt="%Y-%m-%d %H:%M:%S",style="{") + logFmt = logging.Formatter(fmt=logFormat,datefmt="%Y-%m-%d %H:%M:%S",style="{") if not logFile == "" and toFile: if path.isfile(logFile+".bak"): From c942718575e3633400f552560e18d6be74401f1b Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Tue, 14 Apr 2020 20:30:20 +0200 Subject: [PATCH 2/2] Some further cleanup of switch parsing --- nw/__init__.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/nw/__init__.py b/nw/__init__.py index 7d9092d3..8cfc84b1 100644 --- a/nw/__init__.py +++ b/nw/__init__.py @@ -77,7 +77,7 @@ def main(sysArgs=None): sysArgs = sys.argv[1:] # Valid Input Options - shortOpt = "hvidVql:" + shortOpt = "hidvql:" longOpt = [ "help", "version", @@ -98,10 +98,10 @@ def main(sysArgs=None): "\n" "Usage:\n" " -h, --help Print this message.\n" - " -v, --version Print program version and exit.\n" + " --version Print program version and exit.\n" " -i, --info Print additional runtime information.\n" " -d, --debug Print debug output. Includes -i.\n" - " -V, --verbose Increase verbosity of debug output. Includes -d.\n" + " -v, --verbose Increase verbosity of debug output. Includes -d.\n" " -q, --quiet Disable output to command line. Does not affect log file.\n" " -l, --logfile= Specify log file.\n" " --style= Sets Qt5 style flag. Defaults to 'Fusion'.\n" @@ -130,8 +130,9 @@ def main(sysArgs=None): # Parse Options try: inOpts, inRemain = getopt.getopt(sysArgs,shortOpt,longOpt) - except getopt.GetoptError: + except getopt.GetoptError as E: print(helpMsg) + print("ERROR: %s" % str(E)) sys.exit(2) if len(inRemain) > 0: @@ -141,7 +142,7 @@ def main(sysArgs=None): if inOpt in ("-h","--help"): print(helpMsg) sys.exit() - elif inOpt in ("-v", "--version"): + elif inOpt == "--version": print("%s %s Version %s" % (__package__,__status__,__version__)) sys.exit() elif inOpt in ("-i", "--info"): @@ -154,16 +155,16 @@ def main(sysArgs=None): toFile = True elif inOpt in ("-q","--quiet"): toStd = False - elif inOpt in ("-V","--verbose"): + elif inOpt in ("-v","--verbose"): debugLevel = VERBOSE logFormat = "[{asctime:}] {name:>30}:{lineno:<4d} {levelname:8} {message:}" - elif inOpt in ("--style"): + elif inOpt == "--style": qtStyle = inArg - elif inOpt in ("--config"): + elif inOpt == "--config": confPath = inArg - elif inOpt in ("--data"): + elif inOpt == "--data": dataPath = inArg - elif inOpt in ("--testmode"): + elif inOpt == "--testmode": testMode = True # Set Config Options