refactore _launch_consistency
This commit is contained in:
parent
1b87e1d9bb
commit
0eff0cd989
@ -395,10 +395,12 @@ class Option(OnlyOption):
|
||||
all_cons_vals = []
|
||||
val_consistencies = True
|
||||
for opt in all_cons_opts:
|
||||
#get value
|
||||
|
||||
if (isinstance(opt, DynSymLinkOption) and option._dyn == opt._dyn) or \
|
||||
option == opt:
|
||||
opt_value = value
|
||||
# option is current option
|
||||
# we have already value, so use it
|
||||
all_cons_vals.append(value)
|
||||
else:
|
||||
#if context, calculate value, otherwise get default value
|
||||
if context is not undefined:
|
||||
@ -407,6 +409,7 @@ class Option(OnlyOption):
|
||||
else:
|
||||
path = descr.impl_get_path_by_opt(opt)
|
||||
opt_value = context.getattr(path, validate=False,
|
||||
index=index,
|
||||
force_permissive=True,
|
||||
returns_raise=True)
|
||||
if isinstance(opt_value, Exception):
|
||||
@ -419,20 +422,16 @@ class Option(OnlyOption):
|
||||
return
|
||||
else:
|
||||
return opt_value
|
||||
else:
|
||||
elif index is None:
|
||||
opt_value = opt.impl_getdefault()
|
||||
|
||||
#append value
|
||||
if not self.impl_is_multi() or (isinstance(opt, DynSymLinkOption)
|
||||
and option._dyn == opt._dyn) or \
|
||||
option == opt:
|
||||
all_cons_vals.append(opt_value)
|
||||
else:
|
||||
if index is not None:
|
||||
all_cons_vals.append(opt_value[index])
|
||||
else:
|
||||
#only check properties for slaves
|
||||
opt_value = opt.impl_getdefault()[index]
|
||||
|
||||
if self.impl_is_multi() and index is None:
|
||||
# only check propertyerror for master/slaves is transitive
|
||||
val_consistencies = False
|
||||
all_cons_vals.append(opt_value)
|
||||
|
||||
if val_consistencies:
|
||||
return getattr(self, func)(current_opt, all_cons_opts, all_cons_vals, warnings_only)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user