only forward common args that were given, stop forwarding _args_given

This commit is contained in:
Ciro Santilli 六四事件 法轮功
2019-01-22 00:00:00 +00:00
parent e4de336aa3
commit ae72c54fac
2 changed files with 4 additions and 6 deletions

View File

@@ -162,7 +162,6 @@ class CliFunction:
Resolve default arguments from the config file and CLI param defaults.
Add an extra _args_given argument which determines if an argument was given or not.
If _args_given is already present in kwargs, preserve it.
'''
args_with_defaults = kwargs.copy()
# Add missing args from config file.
@@ -198,10 +197,7 @@ class CliFunction:
args_with_defaults[key] = argument.default
else:
raise Exception('Value not given for mandatory argument: ' + key)
if '_args_given' in kwargs:
args_with_defaults['_args_given'] = kwargs['_args_given']
else:
args_with_defaults['_args_given'] = args_given
args_with_defaults['_args_given'] = args_given
if 'config_file' in args_with_defaults:
del args_with_defaults['config_file']
return args_with_defaults

View File

@@ -682,7 +682,9 @@ Valid emulators: {}
and are all defined in this class instead of in the derived class
of the script.
'''
return {key:self.env[key] for key in self._common_args | {'_args_given'}}
return {
key:self.env[key] for key in self._common_args if self.env['_args_given'][key]
}
def get_stats(self, stat_re=None, stats_file=None):
if stat_re is None: