Merge pull request #182 from vkbo/switches

Command Line Switches
This commit is contained in:
Veronica K. Berglyd Olsen
2020-04-14 20:34:51 +02:00
committed by GitHub
+21 -19
View File
@@ -77,19 +77,19 @@ def main(sysArgs=None):
sysArgs = sys.argv[1:] sysArgs = sys.argv[1:]
# Valid Input Options # Valid Input Options
shortOpt = "hdiql:v" shortOpt = "hidvql:"
longOpt = [ longOpt = [
"help", "help",
"debug", "version",
"info", "info",
"debug",
"verbose", "verbose",
"quiet", "quiet",
"logfile=", "logfile=",
"version", "style=",
"config=", "config=",
"data=", "data=",
"testmode", "testmode",
"style=",
] ]
helpMsg = ( helpMsg = (
@@ -98,16 +98,16 @@ def main(sysArgs=None):
"\n" "\n"
"Usage:\n" "Usage:\n"
" -h, --help Print this message.\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" " -i, --info Print additional runtime information.\n"
" -d, --debug Print debug output.\n" " -d, --debug Print debug output. Includes -i.\n"
" --verbose Increase verbosity of debug output.\n" " -v, --verbose Increase verbosity of debug output. Includes -d.\n"
" -q, --quiet Disable output to command line. Does not affect log file.\n" " -q, --quiet Disable output to command line. Does not affect log file.\n"
" -l, --logfile= Specify 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" " --config= Alternative config file.\n"
" --data= Alternative user data path.\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( ).format(
appname = __package__, appname = __package__,
version = __version__, version = __version__,
@@ -117,7 +117,7 @@ def main(sysArgs=None):
# Defaults # Defaults
debugLevel = logging.WARN debugLevel = logging.WARN
debugStr = "{levelname:8} {message:}" logFormat = "{levelname:8} {message:}"
logFile = "" logFile = ""
toFile = False toFile = False
toStd = True toStd = True
@@ -130,8 +130,9 @@ def main(sysArgs=None):
# Parse Options # Parse Options
try: try:
inOpts, inRemain = getopt.getopt(sysArgs,shortOpt,longOpt) inOpts, inRemain = getopt.getopt(sysArgs,shortOpt,longOpt)
except getopt.GetoptError: except getopt.GetoptError as E:
print(helpMsg) print(helpMsg)
print("ERROR: %s" % str(E))
sys.exit(2) sys.exit(2)
if len(inRemain) > 0: if len(inRemain) > 0:
@@ -141,28 +142,29 @@ def main(sysArgs=None):
if inOpt in ("-h","--help"): if inOpt in ("-h","--help"):
print(helpMsg) print(helpMsg)
sys.exit() sys.exit()
elif inOpt in ("-v", "--version"): elif inOpt == "--version":
print("%s %s Version %s" % (__package__,__status__,__version__)) print("%s %s Version %s" % (__package__,__status__,__version__))
sys.exit() sys.exit()
elif inOpt in ("-i", "--info"): elif inOpt in ("-i", "--info"):
debugLevel = logging.INFO debugLevel = logging.INFO
elif inOpt in ("-d", "--debug"): elif inOpt in ("-d", "--debug"):
debugLevel = logging.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"): elif inOpt in ("-l","--logfile"):
logFile = inArg logFile = inArg
toFile = True toFile = True
elif inOpt in ("-q","--quiet"): elif inOpt in ("-q","--quiet"):
toStd = False toStd = False
elif inOpt in ("--verbose"): elif inOpt in ("-v","--verbose"):
debugLevel = VERBOSE debugLevel = VERBOSE
elif inOpt in ("--style"): logFormat = "[{asctime:}] {name:>30}:{lineno:<4d} {levelname:8} {message:}"
elif inOpt == "--style":
qtStyle = inArg qtStyle = inArg
elif inOpt in ("--config"): elif inOpt == "--config":
confPath = inArg confPath = inArg
elif inOpt in ("--data"): elif inOpt == "--data":
dataPath = inArg dataPath = inArg
elif inOpt in ("--testmode"): elif inOpt == "--testmode":
testMode = True testMode = True
# Set Config Options # Set Config Options
@@ -171,7 +173,7 @@ def main(sysArgs=None):
CONFIG.cmdOpen = cmdOpen CONFIG.cmdOpen = cmdOpen
# Set Logging # 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 not logFile == "" and toFile:
if path.isfile(logFile+".bak"): if path.isfile(logFile+".bak"):