report/generate.py: corrections
This commit is contained in:
parent
6d8137160c
commit
22860099ba
4 changed files with 53 additions and 34 deletions
|
@ -61,9 +61,9 @@ def opt_rst_content(path, prefix, descr, value):
|
|||
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))))
|
||||
|
|
|
@ -8,9 +8,9 @@ from .option import (ChoiceOption, BoolOption, IntOption, FloatOption,
|
|||
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')
|
||||
|
|
|
@ -89,33 +89,45 @@ class MasterSlaves(object):
|
|||
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:
|
||||
|
|
|
@ -508,6 +508,13 @@ class Multi(list):
|
|||
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
|
||||
|
|
Loading…
Reference in a new issue