add global 'empty' property, this property raise mandatory PropertiesOptionError if multi or master have empty value
This commit is contained in:
@ -75,6 +75,9 @@ everything_frozen
|
||||
whole option in config are frozen (even if option have not frozen
|
||||
property)
|
||||
|
||||
empty
|
||||
raise mandatory PropertiesOptionError if multi or master have empty value
|
||||
|
||||
validator
|
||||
launch validator set by user in option (this property has no effect
|
||||
for internal validator)
|
||||
@ -97,10 +100,10 @@ read_write
|
||||
you can set all variables not frozen
|
||||
"""
|
||||
ro_append = set(['frozen', 'disabled', 'validator', 'everything_frozen',
|
||||
'mandatory'])
|
||||
'mandatory', 'empty'])
|
||||
ro_remove = set(['permissive', 'hidden'])
|
||||
rw_append = set(['frozen', 'disabled', 'validator', 'hidden'])
|
||||
rw_remove = set(['permissive', 'everything_frozen', 'mandatory'])
|
||||
rw_remove = set(['permissive', 'everything_frozen', 'mandatory', 'empty'])
|
||||
|
||||
|
||||
forbidden_set_properties = set(['force_store_value'])
|
||||
@ -468,8 +471,13 @@ class Settings(object):
|
||||
else:
|
||||
if 'mandatory' in properties and \
|
||||
not self._getcontext().cfgimpl_get_values()._isempty(
|
||||
opt_or_descr, value, opt_or_descr.impl_allow_empty_list()):
|
||||
opt_or_descr, value):
|
||||
properties.remove('mandatory')
|
||||
elif not is_write and 'empty' in forced_properties and \
|
||||
not opt_or_descr.impl_is_master_slaves('slave') and \
|
||||
self._getcontext().cfgimpl_get_values()._isempty(
|
||||
opt_or_descr, value, force_allow_empty_list=True):
|
||||
properties.add('mandatory')
|
||||
if is_write and 'everything_frozen' in forced_properties:
|
||||
properties.add('frozen')
|
||||
elif 'frozen' in properties and not is_write:
|
||||
|
Reference in New Issue
Block a user