content.add(ListItem().join(Strong("path:"), Text(path)))
content.add(ListItem().join(Strong("parent config:"), Text(prefix)))
if isinstance(descr, ChoiceOption):
- content.add(ListItem().join(Strong("possible values:"), Text(str(descr._values))))
+ content.add(ListItem().join(Strong("possible values:"), Text(str(descr.impl_get_values()))))
if not isinstance(descr, SymLinkOption):
- content.add(ListItem().join(Strong("mime type:"), Text(str(descr._opt_type))))
+ content.add(ListItem().join(Strong("mime type:"), Text(str(descr.__class__.__name__))))
content.add(ListItem().join(Strong("default value:"), Text(str(descr.impl_getdefault()))))
content.add(ListItem().join(Strong("description:"), Text(str(descr.impl_get_information('doc')))))
content.add(ListItem().join(Strong("requirements:"), Text(str(descr._requires))))
FilenameOption)
-__all__ = (MasterSlaves, OptionDescription, Option, SymLinkOption,
- ChoiceOption, BoolOption, IntOption, FloatOption,
- StrOption, UnicodeOption, IPOption, PortOption,
- NetworkOption, NetmaskOption, BroadcastOption,
- DomainnameOption, EmailOption, URLOption, UsernameOption,
- FilenameOption)
+__all__ = ('MasterSlaves', 'OptionDescription', 'Option', 'SymLinkOption',
+ 'ChoiceOption', 'BoolOption', 'IntOption', 'FloatOption',
+ 'StrOption', 'UnicodeOption', 'IPOption', 'PortOption',
+ 'NetworkOption', 'NetmaskOption', 'BroadcastOption',
+ 'DomainnameOption', 'EmailOption', 'URLOption', 'UsernameOption',
+ 'FilenameOption')
def getitem(self, values, opt, path, validate, force_permissive,
force_properties, validate_properties):
if opt == self.master:
- value = values._get_validated_value(opt, path, validate,
- force_permissive,
- force_properties,
- validate_properties)
- if validate is True:
- masterlen = len(value)
- for slave in self.slaves:
- try:
- slave_path = values._get_opt_path(slave)
- slave_value = values._get_validated_value(slave,
- slave_path,
- False,
- False,
- None, False,
- None) # not undefined
- slavelen = len(slave_value)
- self.validate_slave_length(masterlen, slavelen, slave._name)
- except ConfigError:
- pass
- return value
+ return self._getmaster(values, opt, path, validate,
+ force_permissive, force_properties,
+ validate_properties)
else:
- value = values._get_validated_value(opt, path, validate,
- force_permissive,
- force_properties,
- validate_properties,
- None) # not undefined
- return self.get_slave_value(values, opt, value, validate, validate_properties)
+ return self._getslave(values, opt, path, validate,
+ force_permissive, force_properties,
+ validate_properties)
+
+ def _getmaster(self, values, opt, path, validate, force_permissive,
+ force_properties, validate_properties):
+ value = values._get_validated_value(opt, path, validate,
+ force_permissive,
+ force_properties,
+ validate_properties)
+ if validate is True:
+ masterlen = len(value)
+ for slave in self.slaves:
+ try:
+ slave_path = values._get_opt_path(slave)
+ slave_value = values._get_validated_value(slave,
+ slave_path,
+ False,
+ False,
+ None, False,
+ None) # not undefined
+ slavelen = len(slave_value)
+ self.validate_slave_length(masterlen, slavelen, slave._name)
+ except ConfigError:
+ pass
+ return value
+
+ def _getslave(self, values, opt, path, validate, force_permissive,
+ force_properties, validate_properties):
+ value = values._get_validated_value(opt, path, validate,
+ force_permissive,
+ force_properties,
+ validate_properties,
+ None) # not undefined
+ return self.get_slave_value(values, opt, value, validate, validate_properties)
def setitem(self, values, opt, value, path):
if opt == self.master:
self._getcontext().cfgimpl_get_values()._setvalue(self.opt, self.path,
self)
+ def __repr__(self, *args, **kwargs):
+ print args, kwargs
+ return super(Multi, self).__repr__(*args, **kwargs)
+
+ def __getitem__(self, y):
+ return super(Multi, self).__getitem__(y)
+
def append(self, value=undefined, force=False, setitem=True):
"""the list value can be updated (appened)
only if the option is a master