first version of new api

This commit is contained in:
2017-10-22 09:48:08 +02:00
parent 8e91f94379
commit 22a4aa81dc
12 changed files with 1250 additions and 35 deletions

View File

@ -58,7 +58,7 @@ class Option(OnlyOption):
'_choice_values_params',
)
_empty = ''
def __init__(self, name, doc, default=None, default_multi=None,
def __init__(self, name, doc, default=undefined, default_multi=None,
requires=None, multi=False, unique=undefined, callback=None,
callback_params=None, validator=None, validator_params=None,
properties=None, warnings_only=False, extra=None,
@ -68,6 +68,11 @@ class Option(OnlyOption):
if not multi and default_multi is not None:
raise ValueError(_("default_multi is set whereas multi is False"
" in option: {0}").format(name))
if default is undefined:
if multi is False:
default = None
else:
default = []
if multi is True:
is_multi = True
_multi = 0

View File

@ -644,10 +644,10 @@ class MasterSlaves(OptionDescription):
c_opt = opt
return c_opt in self._children[1]
def reset(self, opt, values, setting_properties, _commit=True):
def reset(self, opt, values, setting_properties, _commit=True, force_permissive=False):
for slave in self.getslaves(opt):
values.reset(slave, validate=False, _setting_properties=setting_properties,
_commit=_commit)
_commit=_commit, force_permissive=force_permissive)
def pop(self, opt, values, index):
for slave in self.getslaves(opt):