From bf9933e482e72a15348e8abcc5ebe0fa0c470dce Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 29 Mar 2021 08:05:59 +0200 Subject: [PATCH] argval: cleanup default values in ArgValidatorDict._validate_impl() - split the "if" block in two. It's easier to read to only have one condition and to think about them independently. - check "self.all_missing_during_validate" before getting the default value. Signed-off-by: Thomas Haller --- module_utils/network_lsr/argument_validator.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/module_utils/network_lsr/argument_validator.py b/module_utils/network_lsr/argument_validator.py index 8463b61..b51fd88 100644 --- a/module_utils/network_lsr/argument_validator.py +++ b/module_utils/network_lsr/argument_validator.py @@ -357,16 +357,16 @@ class ArgValidatorDict(ArgValidator): raise ValidationError(e.name, e.error_message) result[setting] = validated_value for (setting, validator) in self.nested.items(): - if setting in seen_keys or isinstance(validator, ArgValidatorDeprecated): + if setting in seen_keys: + continue + if isinstance(validator, ArgValidatorDeprecated): continue if validator.required: raise ValidationError(name, "missing required key '%s'" % (setting)) - default_value = validator.get_default_value() - if ( - not self.all_missing_during_validate - and default_value is not ArgValidator.MISSING - ): - result[setting] = default_value + if not self.all_missing_during_validate: + default_value = validator.get_default_value() + if default_value is not ArgValidator.MISSING: + result[setting] = default_value return result