fill for multi types with None value

This commit is contained in:
gwen 2012-07-05 09:17:15 +02:00
parent 52bc3f6507
commit 098df1ba76
1 changed files with 15 additions and 11 deletions

View File

@ -198,12 +198,13 @@ class Config(object):
# special owners
if owner in special_owners:
value = self._cfgimpl_values[name]
if opt_or_descr.is_multi():
if owner == 'fill' and None not in value:
return value
else:
if owner == 'fill' and value != None:
return value
if value != None:
if opt_or_descr.is_multi():
if owner == 'fill' and None not in value:
return value
else:
if owner == 'fill':
return value
result = special_owner_factory(name, owner,
value=value,
callback=opt_or_descr.getcallback(),
@ -220,11 +221,14 @@ class Config(object):
' for option {0}'.format(name))
if opt_or_descr.is_multi():
_result = []
for val in value:
if val == None:
val = result
_result.append(val)
if value == None:
_result = [result]
else:
_result = []
for val in value:
if val == None:
val = result
_result.append(val)
else:
_result = result
return _result