This commit is contained in:
Emmanuel Garette 2016-11-20 19:39:49 +01:00
parent 8e7b4101f1
commit 8e3a8e4279
1 changed files with 10 additions and 5 deletions

View File

@ -83,6 +83,8 @@ class SubConfig(object):
self = self.getattr(step, self = self.getattr(step,
force_permissive=force_permissive, force_permissive=force_permissive,
returns_raise=returns_raise) returns_raise=returns_raise)
if isinstance(self, Exception):
return self, None
return self, path[-1] return self, path[-1]
#def __hash__(self): #def __hash__(self):
@ -270,11 +272,14 @@ class SubConfig(object):
homeconfig, name = self.cfgimpl_get_home_by_path( homeconfig, name = self.cfgimpl_get_home_by_path(
name, force_permissive=force_permissive, name, force_permissive=force_permissive,
returns_raise=returns_raise) returns_raise=returns_raise)
cfg = homeconfig.getattr(name, force_permissive=force_permissive, if isinstance(homeconfig, Exception):
validate=validate, cfg = homeconfig
_setting_properties=_setting_properties, else:
_self_properties=_self_properties, cfg = homeconfig.getattr(name, force_permissive=force_permissive,
index=index, returns_raise=returns_raise) validate=validate,
_setting_properties=_setting_properties,
_self_properties=_self_properties,
index=index, returns_raise=returns_raise)
else: else:
context = self._cfgimpl_get_context() context = self._cfgimpl_get_context()
option = self.cfgimpl_get_description().__getattr__(name, option = self.cfgimpl_get_description().__getattr__(name,