From 493142905466af8fa816dc9b5efa615217445c59 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Mon, 1 Feb 2021 23:38:21 +0200 Subject: [PATCH] Fix argparse with [None] in default parameter (issue #297) --- 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 7805e24f..9895fc48 100644 --- a/clearml/backend_interface/task/args.py +++ b/clearml/backend_interface/task/args.py @@ -278,10 +278,11 @@ class _Arguments(object): # casting if v: if current_action.type: - v = [current_action.type(a) for a in v] + v = [current_action.type(a) if str(a) != str(None) else None for a in v] elif current_action.default: v_type = type(current_action.default[0]) - v = [v_type(a) for a in v] + if v_type != type(None): # noqa + v = [v_type(a) if str(a) != str(None) else None for a in v] if current_action.default is not None or v not in (None, ''): arg_parser_arguments[k] = v @@ -290,6 +291,7 @@ class _Arguments(object): self._task.log.warning( 'Failed parsing task parameter {}="{}" keeping default {}={}'.format( k, v, k, current_action.default)) + continue elif current_action and not current_action.type: # cast manually if there is no type