Mercurial > hgrepos > Python > libs > ConfigMix
diff configmix/config.py @ 442:94cf5a8722d6
Add proper .get() support for jailed and unjailed configurations
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Fri, 10 Dec 2021 03:00:11 +0100 |
| parents | 9d20fab53a19 |
| children | 23941c014130 |
line wrap: on
line diff
--- a/configmix/config.py Fri Dec 10 02:20:54 2021 +0100 +++ b/configmix/config.py Fri Dec 10 03:00:11 2021 +0100 @@ -247,6 +247,15 @@ else: return self.getvarl_s(key) + def get(self, key, default=None): + """Mapping interface that forwards to :meth:`~.getvarl_s` + + """ + if isinstance(key, (tuple, list)): + return self.getvarl_s(*key, default=default) + else: + return self.getvarl_s(key, default=default) + def __contains__(self, key): if isinstance(key, (tuple, list)): # No namespace and quoting support here @@ -841,6 +850,14 @@ else: return self._base.getvarl_s(*(self._path + (key, ))) + def get(self, key, default=None): + if isinstance(key, tuple): + return self._base.get(self._path + key, default=default) + elif isinstance(key, list): + return self._base.get(self._path + tuple(key), default=default) + else: + return self._base.get(self._path + (key, ), default=default) + def __contains__(self, key): if isinstance(key, tuple): return (self._path + key) in self._base
