improve performance
This commit is contained in:
parent
f03cbeadb7
commit
7c5b6e2db2
|
@ -717,6 +717,12 @@ class GroupConfig(_CommonConfig):
|
||||||
pass
|
pass
|
||||||
return self._find_return_results(ret, display_error)
|
return self._find_return_results(ret, display_error)
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return object.__repr__(self)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return object.__str__(self)
|
||||||
|
|
||||||
|
|
||||||
class MetaConfig(GroupConfig):
|
class MetaConfig(GroupConfig):
|
||||||
__slots__ = tuple()
|
__slots__ = tuple()
|
||||||
|
|
|
@ -132,16 +132,17 @@ class OptionDescription(BaseOption, StorageOptionDescription):
|
||||||
for option in self._impl_getchildren(dyn=False):
|
for option in self._impl_getchildren(dyn=False):
|
||||||
#FIXME specifique id for sqlalchemy?
|
#FIXME specifique id for sqlalchemy?
|
||||||
#FIXME avec sqlalchemy ca marche le multi parent ? (dans des configs différentes)
|
#FIXME avec sqlalchemy ca marche le multi parent ? (dans des configs différentes)
|
||||||
#if option.id is None:
|
oid = option._get_id()
|
||||||
# raise SystemError(_("an option's id should not be None "
|
cache_option.append(oid)
|
||||||
# "for {0}").format(option.impl_getname()))
|
|
||||||
if option._get_id() in cache_option: # pragma: optional cover
|
|
||||||
raise ConflictError(_('duplicate option: {0}').format(option))
|
|
||||||
cache_option.append(option._get_id())
|
|
||||||
option._set_readonly()
|
option._set_readonly()
|
||||||
if isinstance(option, OptionDescription):
|
if isinstance(option, OptionDescription):
|
||||||
option.impl_validate_options(cache_option)
|
option.impl_validate_options(cache_option)
|
||||||
if init:
|
if init:
|
||||||
|
if len(cache_option) != len(set(cache_option)):
|
||||||
|
for idx in xrange(1, len(cache_option)+1):
|
||||||
|
opt = cache_option.pop(0)
|
||||||
|
if opt in cache_option:
|
||||||
|
raise ConflictError(_('duplicate option: {0}').format(opt))
|
||||||
self._set_readonly()
|
self._set_readonly()
|
||||||
|
|
||||||
# ____________________________________________________________
|
# ____________________________________________________________
|
||||||
|
|
|
@ -102,7 +102,7 @@ class Values(object):
|
||||||
#doit passer de meta à pas meta
|
#doit passer de meta à pas meta
|
||||||
#en plus il faut gérer la longueur avec les meta !
|
#en plus il faut gérer la longueur avec les meta !
|
||||||
#FIXME SymLinkOption
|
#FIXME SymLinkOption
|
||||||
value = meta.cfgimpl_get_values()[opt]
|
value = meta.cfgimpl_get_values()._get_cached_item(opt, path)
|
||||||
if isinstance(value, Multi):
|
if isinstance(value, Multi):
|
||||||
if index is not undefined:
|
if index is not undefined:
|
||||||
value = value[index]
|
value = value[index]
|
||||||
|
@ -356,8 +356,8 @@ class Values(object):
|
||||||
raise ConfigError(_('owner only avalaible for an option'))
|
raise ConfigError(_('owner only avalaible for an option'))
|
||||||
context = self._getcontext()
|
context = self._getcontext()
|
||||||
setting = context.cfgimpl_get_settings()
|
setting = context.cfgimpl_get_settings()
|
||||||
if 'frozen' in setting[opt] and \
|
if 'frozen' in setting._getitem(opt, path) and \
|
||||||
'force_default_on_freeze' in setting[opt]:
|
'force_default_on_freeze' in setting._getitem(opt, path):
|
||||||
return owners.default
|
return owners.default
|
||||||
if validate_properties:
|
if validate_properties:
|
||||||
self._getitem(opt, path, True, force_permissive, None, True)
|
self._getitem(opt, path, True, force_permissive, None, True)
|
||||||
|
|
Loading…
Reference in New Issue