checkbox-dev team mailing list archive
-
checkbox-dev team
-
Mailing list archive
-
Message #00070
[PATCH 06/11] plainbox:secure:config: respect understands_Unset in Variable.validate()
This patch makes Variable skip all validators that don't claim to support
the Unset value if the validated value is indeed Unset
Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@xxxxxxxxxxxxx>
---
plainbox/plainbox/impl/secure/config.py | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/plainbox/plainbox/impl/secure/config.py b/plainbox/plainbox/impl/secure/config.py
index f651359..c4dbd69 100644
--- a/plainbox/plainbox/impl/secure/config.py
+++ b/plainbox/plainbox/impl/secure/config.py
@@ -168,6 +168,15 @@ class Variable(INameTracking):
Tf the value was not valid in any way
"""
for validator in self.validator_list:
+ # Most validators don't want to deal with the unset type so let's
+ # special case that. Anything that is decorated with
+ # @understands_Unset will have that attribute set to True.
+ #
+ # If the value _is_ unset and the validator doesn't claim to
+ # support it then just skip it.
+ if value is Unset and not getattr(validator, 'understands_Unset',
+ False):
+ continue
message = validator(self, value)
if message is not None:
raise ValidationError(self, value, message)
--
1.9.0
References