from tiramisu.setting import groups, Settings, default_encoding
from tiramisu.storage import get_storages, get_storage, set_storage, \
_impl_getstate_setting
-from tiramisu.value import Values
+from tiramisu.value import Values, Multi
from tiramisu.i18n import _
return True
try:
value = getattr(self, path)
- if value == byvalue:
- return True
+ if isinstance(value, Multi):
+ return byvalue in value
+ else:
+ return value == byvalue
except PropertiesOptionError: # a property is a restriction
# upon the access of the value
- pass
- return False
+ return False
def _filter_by_type():
if bytype is None:
"").format(str(value),
self.opt._name, err))
- def pop(self, key, force=False):
+ def pop(self, index, force=False):
"""the list value can be updated (poped)
only if the option is a master
- :param key: index of the element to pop
- :return: the requested element
+ :param index: remove item a index
+ :type index: int
+ :param force: force pop item (withoud check master/slave)
+ :type force: boolean
+ :returns: item at index
"""
if not force:
if self.opt.impl_get_multitype() == multitypes.slave:
#get multi without valid properties
values.getitem(slave,
validate_properties=False
- ).pop(key, force=True)
+ ).pop(index, force=True)
#set value without valid properties
- ret = super(Multi, self).pop(key)
+ ret = super(Multi, self).pop(index)
self.context().cfgimpl_get_values()._setvalue(self.opt, self.path, self, validate_properties=not force)
return ret