Mercurial > hgrepos > Python > libs > ConfigMix
comparison configmix/config.py @ 428:090a25f36a3d
FIX: Allow jailed configurations to use correctly use base configurations that use a different "default" marker object.
Jailed configurations assumed that their "default" marker object is
identical to the "default" marker object in the unjailed base
configuration. This is not always true, especially if
"_JailedConfiguration.rebind()" is used.
Removed the explicit "default" keyword argument and passed the complete
keywords argument dictionary to the base instead. This triggers correct
default handling in the base.
| author | Franz Glasner <f.glasner@feldmann-mg.com> |
|---|---|
| date | Thu, 09 Dec 2021 13:02:17 +0100 |
| parents | 84d4f82ffe59 |
| children | b96f49c9c76b |
comparison
equal
deleted
inserted
replaced
| 427:40be1d25ff1c | 428:090a25f36a3d |
|---|---|
| 840 "a `dict' is not supported in a jailed configuration") | 840 "a `dict' is not supported in a jailed configuration") |
| 841 else: | 841 else: |
| 842 raise TypeError("a paths item must be a list or tuple") | 842 raise TypeError("a paths item must be a list or tuple") |
| 843 return self._base.getfirstvarl_s(*real_paths, **kwds) | 843 return self._base.getfirstvarl_s(*real_paths, **kwds) |
| 844 | 844 |
| 845 def getvar(self, varname, default=_MARKER): | 845 def getvar(self, varname, **kwds): |
| 846 return self._base.getvar(self._pathstr + varname, default=default) | 846 return self._base.getvar(self._pathstr + varname, **kwds) |
| 847 | 847 |
| 848 def getkeys(self, varname): | 848 def getkeys(self, varname): |
| 849 for k in self._base.getkeys(self._pathstr + varname): | 849 for k in self._base.getkeys(self._pathstr + varname): |
| 850 yield k | 850 yield k |
| 851 | 851 |
| 852 def getfirstvar(self, *varnames, **kwds): | 852 def getfirstvar(self, *varnames, **kwds): |
| 853 real_varnames = [self._pathstr + vn for vn in varnames] | 853 real_varnames = [self._pathstr + vn for vn in varnames] |
| 854 return self._base.getfirstvar(*real_varnames, **kwds) | 854 return self._base.getfirstvar(*real_varnames, **kwds) |
| 855 | 855 |
| 856 def getvar_s(self, varname, default=_MARKER): | 856 def getvar_s(self, varname, **kwds): |
| 857 return self._base.getvar_s(self._pathstr + varname, default=default) | 857 return self._base.getvar_s(self._pathstr + varname, **kwds) |
| 858 | 858 |
| 859 def getfirstvar_s(self, *varnames, **kwds): | 859 def getfirstvar_s(self, *varnames, **kwds): |
| 860 real_varnames = [self._pathstr + vn for vn in varnames] | 860 real_varnames = [self._pathstr + vn for vn in varnames] |
| 861 return self._base.getfirstvar_s(*real_varnames, **kwds) | 861 return self._base.getfirstvar_s(*real_varnames, **kwds) |
| 862 | 862 |
