stats: make get_parser handle bool arguments properly

pull/1/head
Michael DM Dryden 2020-05-30 00:32:19 -04:00
rodzic ec83a7a691
commit 2bd9de78d8
1 zmienionych plików z 7 dodań i 2 usunięć

Wyświetl plik

@ -456,12 +456,17 @@ def get_parser(runner: StatsRunner) -> InternalParser:
elif arg.name == 'kwargs':
pass
else:
arg_doc = None
if doc:
arg_doc = None
for line in doc:
match = re.match(rf"^:param {arg.name}: (.*)", line)
if match:
arg_doc = match.group(1)
subparser.add_argument(f"-{arg.name}", type=arg.annotation, help=arg_doc)
if arg.annotation == bool:
subparser.add_argument(f"-{arg.name}".replace('_', '-'), action='store_true', help=arg_doc)
else:
subparser.add_argument(f"-{arg.name}".replace('_', '-'), type=arg.annotation, help=arg_doc,
default=arg.default)
return parser