if not need, don't validate

This commit is contained in:
Emmanuel Garette 2013-05-10 16:00:46 +02:00
parent c13846238d
commit c91e7eff97
1 changed files with 22 additions and 23 deletions

View File

@ -258,30 +258,29 @@ class Option(BaseInformation):
# generic calculation
if context is not None:
descr = context.cfgimpl_get_description()
if not self._multi:
if value is not None and ((validate and
self._validator is not None and
not val_validator()) or
not self._validate(value)):
raise ValueError(_("invalid value {0} for option {1}"
"").format(value, self._name))
if context is not None:
descr._valid_consistency(self, value, context, None)
else:
if not isinstance(value, list):
raise ValueError(_("invalid value {0} for option {1} "
"which must be a list").format(value,
self._name))
for index in range(0, len(value)):
val = value[index]
if val is not None and ((validate and
self._validator is not None and
not val_validator()) or
not self._validate(val)):
raise ValueError(_("invalid value {0} for option {1}"
"").format(value, self._name))
if validate:
if not self._multi:
if value is not None and ((self._validator is not None and
not val_validator()) or
not self._validate(value)):
raise ValueError(_("invalid value {0} for option {1}"
"").format(value, self._name))
if context is not None:
descr._valid_consistency(self, val, context, index)
descr._valid_consistency(self, value, context, None)
else:
if not isinstance(value, list):
raise ValueError(_("invalid value {0} for option {1} "
"which must be a list").format(value,
self._name))
for index in range(0, len(value)):
val = value[index]
if val is not None and ((self._validator is not None and
not val_validator()) or
not self._validate(val)):
raise ValueError(_("invalid value {0} for option {1}"
"").format(value, self._name))
if context is not None:
descr._valid_consistency(self, val, context, index)
def impl_getdefault(self, default_multi=False):
"accessing the default value"