# HG changeset patch # User Franz Glasner # Date 1639962003 -3600 # Node ID 09b8e28b7a44850b790d5adef5b179614bbddf4d # Parent 085962f6c81f038f6ab65c125c9434bde808b72b Implement Configuration.getvar_s() by using Configuration.getvarl() instead of Configuration.getvar(). This allows for proper caching of variable interpolation in the future. diff -r 085962f6c81f -r 09b8e28b7a44 configmix/config.py --- a/configmix/config.py Sun Dec 19 19:01:43 2021 +0100 +++ b/configmix/config.py Mon Dec 20 02:00:03 2021 +0100 @@ -611,8 +611,17 @@ For more details see chapter :ref:`variable-interpolation`. """ + varns, varname = self._split_ns(varname) + if not varns: + if varname: + varnameparts = tuple([unquote(vp) + for vp in varname.split(_HIER_SEPARATOR)]) + else: + varnameparts = tuple() + else: + varnameparts = (varname,) try: - obj = self.getvar(varname) + obj = self.getvarl(*varnameparts, namespace=varns) return self.substitute_variables_in_obj(obj) except KeyError: if default is _MARKER: