Mercurial > hgrepos > Python > libs > ConfigMix
comparison configmix/config.py @ 441:9d20fab53a19
FIX: Handle "list"-type keys in __contains__ and __getitem__ properly: convert to tuples for contatenation with tuple
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Fri, 10 Dec 2021 02:20:54 +0100 |
| parents | f297c23f78f0 |
| children | 94cf5a8722d6 |
comparison
equal
deleted
inserted
replaced
| 440:f297c23f78f0 | 441:9d20fab53a19 |
|---|---|
| 832 | 832 |
| 833 def __getitem__(self, key): | 833 def __getitem__(self, key): |
| 834 """Mapping interface that forwards to :meth:`~.getvarl_s` | 834 """Mapping interface that forwards to :meth:`~.getvarl_s` |
| 835 | 835 |
| 836 """ | 836 """ |
| 837 if isinstance(key, (tuple, list)): | 837 if isinstance(key, tuple): |
| 838 return self._base.getvarl_s(*(self._path + key)) | 838 return self._base.getvarl_s(*(self._path + key)) |
| 839 elif isinstance(key, list): | |
| 840 return self._base.getvarl_s(*(self._path + tuple(key))) | |
| 839 else: | 841 else: |
| 840 return self._base.getvarl_s(*(self._path + (key, ))) | 842 return self._base.getvarl_s(*(self._path + (key, ))) |
| 841 | 843 |
| 842 def __contains__(self, key): | 844 def __contains__(self, key): |
| 843 if isinstance(key, (tuple, list)): | 845 if isinstance(key, tuple): |
| 844 return (self._path + key) in self._base | 846 return (self._path + key) in self._base |
| 847 elif isinstance(key, list): | |
| 848 return (self._path + tuple(key)) in self._base | |
| 845 else: | 849 else: |
| 846 return (self._path + (key, )) in self._base | 850 return (self._path + (key, )) in self._base |
| 847 | 851 |
| 848 def getvarl(self, *path, **kwds): | 852 def getvarl(self, *path, **kwds): |
| 849 return self._base.getvarl(*(self._path + path), **kwds) | 853 return self._base.getvarl(*(self._path + path), **kwds) |
