propertyerror are transitive in consistency, now it's possible to set non-transitive consistency

This commit is contained in:
2014-12-01 22:58:53 +01:00
parent 2ccf92f879
commit 7646071efd
4 changed files with 92 additions and 42 deletions

View File

@ -175,6 +175,7 @@ class OptionDescription(BaseOption, StorageOptionDescription):
if consistencies is not None:
for func, all_cons_opts, params in consistencies:
warnings_only = params.get('warnings_only', False)
transitive = params.get('transitive', True)
#all_cons_opts[0] is the option where func is set
if isinstance(option, DynSymLinkOption):
subpath = '.'.join(option._dyn.split('.')[:-1])
@ -190,7 +191,7 @@ class OptionDescription(BaseOption, StorageOptionDescription):
try:
opts[0]._launch_consistency(func, option, value, context,
index, submulti_idx, opts,
warnings_only)
warnings_only, transitive)
except ValueError as err:
if warnings_only:
raise ValueWarning(err.message, option)