47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
import argparse
|
|
import logging
|
|
|
|
import debugpy
|
|
|
|
class Cli:
|
|
def __init__(self, l: logging.Logger):
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('--gui', help='Show the GUI', action='store_true')
|
|
|
|
parser.add_argument('-i', '--import-from', help='Set the path to load the TopTurnier exports from', nargs=1, default=['allresults.csv'])
|
|
parser.add_argument('-p', '--html-path', help='The path from where to look for HTML export files', nargs=1, default=['.'])
|
|
parser.add_argument('-o', '--output', help='Set the output path of the script', nargs=1, default=[None])
|
|
|
|
parser.add_argument('-v', '--verbose', help='Increase verbosity', action='count', default=0)
|
|
parser.add_argument('-d', '--debug', action='store_true', help='Activate debugging during startup')
|
|
self.__args = parser.parse_args()
|
|
|
|
if self.__args.debug:
|
|
debugpy.listen(5678)
|
|
debugpy.wait_for_client()
|
|
|
|
map = {
|
|
0: logging.ERROR,
|
|
1: logging.WARN,
|
|
2: logging.INFO,
|
|
3: logging.DEBUG,
|
|
4: 5,
|
|
}
|
|
logLevel = map.get(self.__args.verbose, logging.DEBUG)
|
|
l.setLevel(logLevel)
|
|
|
|
def showGUI(self):
|
|
return self.__args.gui
|
|
|
|
def importHtmlPath(self):
|
|
return self.__args.html_path[0]
|
|
|
|
def importCSVPath(self):
|
|
return self.__args.import_from[0]
|
|
|
|
def output(self):
|
|
return self.__args.output[0]
|
|
|
|
def getLogLevel(self):
|
|
return self.__args.verbose
|