Mercurial > hgrepos > Python > libs > ConfigMix
comparison configmix/config.py @ 398:b1f82b853290
Jailed configuration: implement more methods: getfirstvarl, getfirstvarl_s, getfirstvar and getfirstvar_s
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Fri, 19 Nov 2021 01:39:18 +0100 |
| parents | 88239f28415c |
| children | b45403d175a0 |
comparison
equal
deleted
inserted
replaced
| 397:88239f28415c | 398:b1f82b853290 |
|---|---|
| 705 self._base.getvarl(*self._path) | 705 self._base.getvarl(*self._path) |
| 706 | 706 |
| 707 def getvarl(self, *path, **kwds): | 707 def getvarl(self, *path, **kwds): |
| 708 return self._base.getvarl(*(self._path + path), **kwds) | 708 return self._base.getvarl(*(self._path + path), **kwds) |
| 709 | 709 |
| 710 def getfirstvarl(self, *paths, **kwds): | |
| 711 real_paths = [] | |
| 712 for path in paths: | |
| 713 if isinstance(path, (list, tuple)): | |
| 714 real_paths.append(self._path + path) | |
| 715 elif isinstance(path, dict): | |
| 716 raise TypeError( | |
| 717 "a `dict' is not supported in a jailed configuration") | |
| 718 else: | |
| 719 raise TypeError("a paths item must be a list or tuple") | |
| 720 return self._base.getfirstvarl(*real_paths, **kwds) | |
| 721 | |
| 710 def getvarl_s(self, *path, **kwds): | 722 def getvarl_s(self, *path, **kwds): |
| 711 return self._base.getvarl_s(*(self._path + path), **kwds) | 723 return self._base.getvarl_s(*(self._path + path), **kwds) |
| 712 | 724 |
| 725 def getfirstvarl_s(self, *paths, **kwds): | |
| 726 real_paths = [] | |
| 727 for path in paths: | |
| 728 if isinstance(path, (list, tuple)): | |
| 729 real_paths.append(self._path + path) | |
| 730 elif isinstance(path, dict): | |
| 731 raise TypeError( | |
| 732 "a `dict' is not supported in a jailed configuration") | |
| 733 else: | |
| 734 raise TypeError("a paths item must be a list or tuple") | |
| 735 return self._base.getfirstvarl_s(*real_paths, **kwds) | |
| 736 | |
| 713 def getvar(self, varname, default=_MARKER): | 737 def getvar(self, varname, default=_MARKER): |
| 714 return self._base.getvar(self._pathstr + varname, default=default) | 738 return self._base.getvar(self._pathstr + varname, default=default) |
| 715 | 739 |
| 740 def getfirstvar(self, *varnames, **kwds): | |
| 741 real_varnames = [self._pathstr + vn for vn in varnames] | |
| 742 return self._base.getfirstvar(*real_varnames, **kwds) | |
| 743 | |
| 716 def getvar_s(self, varname, default=_MARKER): | 744 def getvar_s(self, varname, default=_MARKER): |
| 717 return self._base.getvar_s(self._pathstr + varname, default=default) | 745 return self._base.getvar_s(self._pathstr + varname, default=default) |
| 746 | |
| 747 def getfirstvar_s(self, *varnames, **kwds): | |
| 748 real_varnames = [self._pathstr + vn for vn in varnames] | |
| 749 return self._base.getfirstvar_s(*real_varnames, **kwds) |
