update sqlite storage

This commit is contained in:
2017-07-04 19:59:42 +02:00
parent 6f030d426b
commit 6bad3c6e64
17 changed files with 365 additions and 134 deletions

View File

@ -525,7 +525,8 @@ class Option(OnlyOption):
def impl_validate(self, value, context=undefined, validate=True,
force_index=None, force_submulti_index=None,
current_opt=undefined, is_multi=None,
display_error=True, display_warnings=True, multi=None):
display_error=True, display_warnings=True, multi=None,
setting_properties=undefined):
"""
:param value: the option's value
:param context: Config's context
@ -544,8 +545,9 @@ class Option(OnlyOption):
if current_opt is undefined:
current_opt = self
display_warnings = display_warnings and (context is undefined or
'warnings' in context.cfgimpl_get_settings())
if display_warnings and setting_properties is undefined and context is not undefined:
setting_properties = context.cfgimpl_get_settings()._getproperties(read_write=False)
display_warnings = display_warnings and (setting_properties is undefined or 'warnings' in setting_properties)
def _is_not_unique(value):
if display_error and self.impl_is_unique() and len(set(value)) != len(value):
for idx, val in enumerate(value):
@ -1160,7 +1162,8 @@ class DynSymLinkOption(object):
def impl_validate(self, value, context=undefined, validate=True,
force_index=None, force_submulti_index=None, is_multi=None,
display_error=True, display_warnings=True, multi=None):
display_error=True, display_warnings=True, multi=None,
setting_properties=undefined):
return self._impl_getopt().impl_validate(value, context, validate,
force_index,
force_submulti_index,
@ -1168,7 +1171,8 @@ class DynSymLinkOption(object):
is_multi=is_multi,
display_error=display_error,
display_warnings=display_warnings,
multi=multi)
multi=multi,
setting_properties=setting_properties)
def impl_is_dynsymlinkoption(self):
return True

View File

@ -182,7 +182,7 @@ class MasterSlaves(object):
masterp = master.impl_getpath(context)
masterlen = self.get_length(values, opt, session, validate, undefined,
undefined, force_permissive,
master=master)
master=master, setting_properties=setting_properties)
if isinstance(masterlen, Exception):
if isinstance(masterlen, PropertiesOptionError):
masterlen.set_orig_opt(opt)
@ -252,7 +252,7 @@ class MasterSlaves(object):
def get_length(self, values, opt, session, validate=True, slave_path=undefined,
slave_value=undefined, force_permissive=False, master=None,
masterp=None):
masterp=None, setting_properties=undefined):
"""get master len with slave option"""
if master is None:
master = self.getmaster(opt)
@ -262,7 +262,7 @@ class MasterSlaves(object):
slave_path = undefined
value = self.getitem(values, master, masterp, validate,
force_permissive, None, True, session, slave_path=slave_path,
slave_value=slave_value)
slave_value=slave_value, setting_properties=setting_properties)
if isinstance(value, Exception):
return value
return len(value)