force_store_value store value but not in write mode
This commit is contained in:
parent
b7580125a5
commit
2e21f13387
|
@ -122,7 +122,7 @@ class Values(object):
|
||||||
' for option {0}: {1}').format(opt._name, value))
|
' for option {0}: {1}').format(opt._name, value))
|
||||||
if self.is_default_owner(opt) and \
|
if self.is_default_owner(opt) and \
|
||||||
'force_store_value' in setting[opt]:
|
'force_store_value' in setting[opt]:
|
||||||
self.setitem(opt, value)
|
self.setitem(opt, value, is_write=False)
|
||||||
setting.validate_properties(opt, False, False, value=value,
|
setting.validate_properties(opt, False, False, value=value,
|
||||||
force_permissive=force_permissive,
|
force_permissive=force_permissive,
|
||||||
force_properties=force_properties)
|
force_properties=force_properties)
|
||||||
|
@ -131,10 +131,9 @@ class Values(object):
|
||||||
def __setitem__(self, opt, value):
|
def __setitem__(self, opt, value):
|
||||||
self.setitem(opt, value)
|
self.setitem(opt, value)
|
||||||
|
|
||||||
def setitem(self, opt, value, force_permissive=False):
|
def setitem(self, opt, value, force_permissive=False, is_write=True):
|
||||||
self._setitem(opt, value, force_permissive)
|
#is_write is, for example, used with "force_store_value"
|
||||||
|
#user didn't change value, so not write
|
||||||
def _setitem(self, opt, value, force_permissive=False, force_properties=None):
|
|
||||||
#valid opt
|
#valid opt
|
||||||
if not opt.optimpl_validate(value, self.context,
|
if not opt.optimpl_validate(value, self.context,
|
||||||
'validator' in self.context.cfgimpl_get_settings()):
|
'validator' in self.context.cfgimpl_get_settings()):
|
||||||
|
@ -143,12 +142,12 @@ class Values(object):
|
||||||
if opt.optimpl_is_multi() and not isinstance(value, Multi):
|
if opt.optimpl_is_multi() and not isinstance(value, Multi):
|
||||||
value = Multi(value, self.context, opt)
|
value = Multi(value, self.context, opt)
|
||||||
self._setvalue(opt, value, force_permissive=force_permissive,
|
self._setvalue(opt, value, force_permissive=force_permissive,
|
||||||
force_properties=force_properties)
|
is_write=is_write)
|
||||||
|
|
||||||
def _setvalue(self, opt, value, force_permissive=False, force_properties=None):
|
def _setvalue(self, opt, value, force_permissive=False, force_properties=None, is_write=True):
|
||||||
self.context.cfgimpl_reset_cache()
|
self.context.cfgimpl_reset_cache()
|
||||||
setting = self.context.cfgimpl_get_settings()
|
setting = self.context.cfgimpl_get_settings()
|
||||||
setting.validate_properties(opt, False, True,
|
setting.validate_properties(opt, False, is_write,
|
||||||
value=value,
|
value=value,
|
||||||
force_permissive=force_permissive,
|
force_permissive=force_permissive,
|
||||||
force_properties=force_properties)
|
force_properties=force_properties)
|
||||||
|
|
Loading…
Reference in New Issue