some optimisations
This commit is contained in:
parent
a97c3c682a
commit
93ce93e529
|
@ -54,8 +54,9 @@ class ChoiceOption(Option):
|
||||||
if not isinstance(values, tuple): # pragma: optional cover
|
if not isinstance(values, tuple): # pragma: optional cover
|
||||||
raise TypeError(_('values must be a tuple or a function for {0}'
|
raise TypeError(_('values must be a tuple or a function for {0}'
|
||||||
).format(name))
|
).format(name))
|
||||||
self._choice_values = values
|
_setattr = object.__setattr__
|
||||||
self._choice_values_params = values_params
|
_setattr(self, '_choice_values', values)
|
||||||
|
_setattr(self, '_choice_values_params', values_params)
|
||||||
super(ChoiceOption, self).__init__(name, doc, default=default,
|
super(ChoiceOption, self).__init__(name, doc, default=default,
|
||||||
default_multi=default_multi,
|
default_multi=default_multi,
|
||||||
callback=callback,
|
callback=callback,
|
||||||
|
|
|
@ -74,10 +74,11 @@ class OptionDescription(BaseOption, StorageOptionDescription):
|
||||||
'dynoptiondescription'))
|
'dynoptiondescription'))
|
||||||
old = child
|
old = child
|
||||||
self._add_children(child_names, children)
|
self._add_children(child_names, children)
|
||||||
self._cache_consistencies = None
|
_setattr = object.__setattr__
|
||||||
|
_setattr(self, '_cache_consistencies', None)
|
||||||
# the group_type is useful for filtering OptionDescriptions in a config
|
# the group_type is useful for filtering OptionDescriptions in a config
|
||||||
self._group_type = groups.default
|
_setattr(self, '_group_type', groups.default)
|
||||||
self._is_build_cache = False
|
_setattr(self, '_is_build_cache', False)
|
||||||
|
|
||||||
def impl_getdoc(self):
|
def impl_getdoc(self):
|
||||||
return self.impl_get_information('doc')
|
return self.impl_get_information('doc')
|
||||||
|
|
|
@ -242,16 +242,17 @@ class StorageBase(object):
|
||||||
def _set_readonly(self):
|
def _set_readonly(self):
|
||||||
if not self.impl_is_readonly():
|
if not self.impl_is_readonly():
|
||||||
dico = self._informations
|
dico = self._informations
|
||||||
|
_setattr = object.__setattr__
|
||||||
if not (dico is None or isinstance(dico, str) or isinstance(dico, unicode)):
|
if not (dico is None or isinstance(dico, str) or isinstance(dico, unicode)):
|
||||||
keys = tuple(dico.keys())
|
keys = tuple(dico.keys())
|
||||||
if keys == ('doc',):
|
if keys == ('doc',):
|
||||||
dico = dico['doc']
|
dico = dico['doc']
|
||||||
else:
|
else:
|
||||||
dico = tuple([tuple(dico.keys()), tuple(dico.values())])
|
dico = tuple([tuple(dico.keys()), tuple(dico.values())])
|
||||||
self._informations = dico
|
_setattr(self, '_informations', dico)
|
||||||
try:
|
try:
|
||||||
extra = self._extra
|
extra = self._extra
|
||||||
self._extra = tuple([tuple(extra.keys()), tuple(extra.values())])
|
_setattr(self, '_extra', tuple([tuple(extra.keys()), tuple(extra.values())]))
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -370,7 +371,8 @@ class StorageOptionDescription(StorageBase):
|
||||||
self._cache_paths = None
|
self._cache_paths = None
|
||||||
|
|
||||||
def _add_children(self, child_names, children):
|
def _add_children(self, child_names, children):
|
||||||
self._children = (tuple(child_names), tuple(children))
|
_setattr = object.__setattr__
|
||||||
|
_setattr(self, '_children', (tuple(child_names), tuple(children)))
|
||||||
|
|
||||||
def impl_already_build_caches(self):
|
def impl_already_build_caches(self):
|
||||||
return self._is_build_cache
|
return self._is_build_cache
|
||||||
|
@ -394,10 +396,11 @@ class StorageOptionDescription(StorageBase):
|
||||||
|
|
||||||
def impl_build_cache_option(self, _currpath=None, cache_path=None,
|
def impl_build_cache_option(self, _currpath=None, cache_path=None,
|
||||||
cache_option=None):
|
cache_option=None):
|
||||||
|
_setattr = object.__setattr__
|
||||||
try:
|
try:
|
||||||
self._cache_paths
|
self._cache_paths
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
self._cache_paths = None
|
_setattr(self, '_cache_paths', None)
|
||||||
if _currpath is None and self._cache_paths is not None: # pragma: optional cover
|
if _currpath is None and self._cache_paths is not None: # pragma: optional cover
|
||||||
# cache already set
|
# cache already set
|
||||||
return
|
return
|
||||||
|
@ -420,8 +423,8 @@ class StorageOptionDescription(StorageBase):
|
||||||
cache_option)
|
cache_option)
|
||||||
_currpath.pop()
|
_currpath.pop()
|
||||||
if save:
|
if save:
|
||||||
self._cache_paths = (tuple(cache_option), tuple(cache_path))
|
_setattr(self, '_cache_paths', (tuple(cache_option), tuple(cache_path)))
|
||||||
self._is_build_cache = True
|
_setattr(self, '_is_build_cache', True)
|
||||||
|
|
||||||
def impl_get_options_paths(self, bytype, byname, _subpath, only_first, context):
|
def impl_get_options_paths(self, bytype, byname, _subpath, only_first, context):
|
||||||
find_results = []
|
find_results = []
|
||||||
|
|
Loading…
Reference in New Issue