_setting_properties=_setting_properties,
index=index)
elif option.impl_is_optiondescription():
- self.cfgimpl_get_settings().validate_properties(
+ props = self.cfgimpl_get_settings().validate_properties(
option, True, False, path=subpath,
force_permissive=force_permissive,
setting_properties=_setting_properties)
+ if props:
+ raise props
return SubConfig(option, self._impl_context, subpath)
else:
return self.cfgimpl_get_values()._get_cached_value(
return byvalue in value
else:
return value == byvalue
- # a property is a restriction upon the access of the value
except PropertiesOptionError: # pragma: optional cover
return False
force_permissive=force_permissive,
_setting_properties=setting_properties)
except PropertiesOptionError: # pragma: optional cover
- # a property restricts the access of the value
continue
if type_ == 'value':
retval = value
if index is None and validate is True:
masterlen = len(value)
for slave in self.getslaves(opt):
- try:
- slave_path = slave.impl_getpath(values._getcontext())
- slavelen = values._p_.get_max_length(slave_path)
- self.validate_slave_length(masterlen, slavelen, slave.impl_getname(), opt)
- except ConfigError: # pragma: optional cover
- pass
+ slave_path = slave.impl_getpath(values._getcontext())
+ slavelen = values._p_.get_max_length(slave_path)
+ self.validate_slave_length(masterlen, slavelen, slave.impl_getname(), opt)
return value
def _getslave(self, values, opt, path, validate, force_permissive,
multi = values._get_multi(opt, path)
if masterlen == 0:
if validate_properties:
- context.cfgimpl_get_settings().validate_properties(opt, False,
- False,
- value=multi,
- path=path,
- force_permissive=force_permissive,
- setting_properties=setting_properties)
+ props = context.cfgimpl_get_settings().validate_properties(opt, False,
+ False,
+ value=multi,
+ path=path,
+ force_permissive=force_permissive,
+ setting_properties=setting_properties)
+ if props:
+ raise props
else:
one_has_value = False
if index is None:
value = Multi(value, self.context, opt, path)
if not trusted_cached_properties:
# revalidate properties (because of not default properties)
- settings.validate_properties(opt, False, False, value=value,
- path=path,
- force_permissive=force_permissive,
- setting_properties=setting_properties,
- self_properties=self_properties,
- index=index)
+ props = settings.validate_properties(opt, False, False, value=value,
+ path=path,
+ force_permissive=force_permissive,
+ setting_properties=setting_properties,
+ self_properties=self_properties,
+ index=index)
+ if props:
+ raise props
return value
if not from_masterslave and opt.impl_is_master_slaves():
val = opt.impl_get_master_slaves().getitem(self, opt, path,
val_props = undefined
else:
val_props = value
- setting.validate_properties(opt, False, check_frozen, value=val_props,
- path=path,
- force_permissive=force_permissive,
- setting_properties=setting_properties,
- self_properties=self_properties,
- index=index)
+ props = setting.validate_properties(opt, False, check_frozen, value=val_props,
+ path=path,
+ force_permissive=force_permissive,
+ setting_properties=setting_properties,
+ self_properties=self_properties,
+ index=index)
+ if props:
+ raise props
if config_error is not None:
raise config_error
return value
for idx, val in enumerate(value):
if isinstance(val, SubMulti):
value[idx] = list(val)
- owner = context.cfgimpl_get_settings().getowner()
+ setting = context.cfgimpl_get_settings()
+ owner = setting.getowner()
+ #FIXME pourquoi là et pas dans masterslaves ??
if opt.impl_is_master_slaves('slave') and index is None:
self._p_.resetvalue(path)
for idx, val in enumerate(value):
else:
self._p_.setvalue(path, value, owner, index)
if validate_properties:
- setting = context.cfgimpl_get_settings()
- setting.validate_properties(opt, False, check_frozen,
- value=value, path=path,
- force_permissive=force_permissive,
- setting_properties=setting_properties)
+ props = setting.validate_properties(opt, False, check_frozen,
+ value=value, path=path,
+ force_permissive=force_permissive,
+ setting_properties=setting_properties)
+ if props:
+ raise props
def _is_meta(self, opt, path):
context = self._getcontext()
if not self._p_.hasvalue(path): # pragma: optional cover
raise ConfigError(_('no value for {0} cannot change owner to {1}'
'').format(path, owner))
- self._getcontext().cfgimpl_get_settings().validate_properties(opt,
- False,
- True,
- path)
-
+ props = self._getcontext().cfgimpl_get_settings().validate_properties(opt,
+ False,
+ True,
+ path)
+ if props:
+ raise props
self._p_.setowner(path, owner)
def is_default_owner(self, opt, validate_properties=True,
path = '.'.join(currpath + [name])
if opt.impl_is_optiondescription():
- try:
- settings.validate_properties(opt, True, False, path=path,
- force_permissive=force_permissive,
- setting_properties=setting_properties)
- except PropertiesOptionError as err:
- pass
- else:
+ if not settings.validate_properties(opt, True, False, path=path,
+ force_permissive=force_permissive,
+ setting_properties=setting_properties):
for path in _mandatory_warnings(opt, currpath + [name]):
yield path
else: