From d4317f8b870d49b1dbeaf14ea1e7b04dea1c0efe Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Tue, 12 Jan 2021 20:23:01 +0200 Subject: [PATCH] Fix argparse with action="append" --- clearml/backend_interface/task/args.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/clearml/backend_interface/task/args.py b/clearml/backend_interface/task/args.py index 98662702..c0159c98 100644 --- a/clearml/backend_interface/task/args.py +++ b/clearml/backend_interface/task/args.py @@ -2,7 +2,7 @@ import yaml from inspect import isfunction from six import PY2 -from argparse import _StoreAction, ArgumentError, _StoreConstAction, _SubParsersAction, SUPPRESS # noqa +from argparse import _StoreAction, ArgumentError, _StoreConstAction, _SubParsersAction, _AppendAction, SUPPRESS # noqa from copy import copy from ...backend_api import Session @@ -266,7 +266,9 @@ class _Arguments(object): pass if current_action.default is not None or const_value not in (None, ''): arg_parser_arguments[k] = const_value - elif current_action and (current_action.nargs in ('+', '*') or isinstance(current_action.nargs, int)): + elif current_action and ( + current_action.nargs in ('+', '*') or isinstance(current_action.nargs, int) or + isinstance(current_action, _AppendAction)): # noinspection PyBroadException try: v = yaml.load(v.strip(), Loader=yaml.SafeLoader)