Mercurial > hgrepos > Python > libs > ConfigMix
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 441:9d20fab53a19 | 442:94cf5a8722d6 |
|---|---|
| 244 """ | 244 """ |
| 245 if isinstance(key, (tuple, list)): | 245 if isinstance(key, (tuple, list)): |
| 246 return self.getvarl_s(*key) | 246 return self.getvarl_s(*key) |
| 247 else: | 247 else: |
| 248 return self.getvarl_s(key) | 248 return self.getvarl_s(key) |
| 249 | |
| 250 def get(self, key, default=None): | |
| 251 """Mapping interface that forwards to :meth:`~.getvarl_s` | |
| 252 | |
| 253 """ | |
| 254 if isinstance(key, (tuple, list)): | |
| 255 return self.getvarl_s(*key, default=default) | |
| 256 else: | |
| 257 return self.getvarl_s(key, default=default) | |
| 249 | 258 |
| 250 def __contains__(self, key): | 259 def __contains__(self, key): |
| 251 if isinstance(key, (tuple, list)): | 260 if isinstance(key, (tuple, list)): |
| 252 # No namespace and quoting support here | 261 # No namespace and quoting support here |
| 253 try: | 262 try: |
| 839 elif isinstance(key, list): | 848 elif isinstance(key, list): |
| 840 return self._base.getvarl_s(*(self._path + tuple(key))) | 849 return self._base.getvarl_s(*(self._path + tuple(key))) |
| 841 else: | 850 else: |
| 842 return self._base.getvarl_s(*(self._path + (key, ))) | 851 return self._base.getvarl_s(*(self._path + (key, ))) |
| 843 | 852 |
| 853 def get(self, key, default=None): | |
| 854 if isinstance(key, tuple): | |
| 855 return self._base.get(self._path + key, default=default) | |
| 856 elif isinstance(key, list): | |
| 857 return self._base.get(self._path + tuple(key), default=default) | |
| 858 else: | |
| 859 return self._base.get(self._path + (key, ), default=default) | |
| 860 | |
| 844 def __contains__(self, key): | 861 def __contains__(self, key): |
| 845 if isinstance(key, tuple): | 862 if isinstance(key, tuple): |
| 846 return (self._path + key) in self._base | 863 return (self._path + key) in self._base |
| 847 elif isinstance(key, list): | 864 elif isinstance(key, list): |
| 848 return (self._path + tuple(key)) in self._base | 865 return (self._path + tuple(key)) in self._base |
