add _path in reset for performance + more tests
This commit is contained in:
@ -175,7 +175,7 @@ class Property(object):
|
||||
self._setting._setproperties(self._properties, self._opt, self._path)
|
||||
|
||||
def reset(self):
|
||||
self._setting.reset(path=self._path)
|
||||
self._setting.reset(_path=self._path)
|
||||
|
||||
def __contains__(self, propname):
|
||||
return propname in self._properties
|
||||
@ -216,10 +216,7 @@ class Settings(object):
|
||||
return str(list(self._getproperties()))
|
||||
|
||||
def __getitem__(self, opt):
|
||||
if opt is None:
|
||||
path = None
|
||||
else:
|
||||
path = self._get_opt_path(opt)
|
||||
path = self._get_opt_path(opt)
|
||||
return self._getitem(opt, path)
|
||||
|
||||
def _getitem(self, opt, path):
|
||||
@ -228,18 +225,16 @@ class Settings(object):
|
||||
def __setitem__(self, opt, value):
|
||||
raise ValueError('you must only append/remove properties')
|
||||
|
||||
def reset(self, opt=None, all_properties=False):
|
||||
if all_properties and opt:
|
||||
def reset(self, opt=None, _path=None, all_properties=False):
|
||||
if all_properties and (_path or opt):
|
||||
raise ValueError(_('opt and all_properties must not be set '
|
||||
'together in reset'))
|
||||
if all_properties:
|
||||
self._p_.reset_all_propertives()
|
||||
else:
|
||||
if opt is None:
|
||||
path = None
|
||||
else:
|
||||
path = self._get_opt_path(opt)
|
||||
self._p_.reset_properties(path)
|
||||
if opt is not None and _path is None:
|
||||
_path = self._get_opt_path(opt)
|
||||
self._p_.reset_properties(_path)
|
||||
self.context.cfgimpl_reset_cache()
|
||||
|
||||
def _getproperties(self, opt=None, path=None, is_apply_req=True):
|
||||
|
Reference in New Issue
Block a user