diff configmix/config.py @ 419:079a82129110

Allow the empty variable name to retrieve the root configuration object
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 02 Dec 2021 09:22:22 +0100
parents bb5f11abd12a
children 84d4f82ffe59
line wrap: on
line diff
--- a/configmix/config.py	Thu Dec 02 01:24:53 2021 +0100
+++ b/configmix/config.py	Thu Dec 02 09:22:22 2021 +0100
@@ -343,9 +343,13 @@
         """
         varns, varname = self._split_ns(varname)
         if not varns:
-            varnameparts = [
-                self.unquote(vp) for vp in varname.split(self._HIER_SEPARATOR)
-            ]
+            if varname:
+                varnameparts = [
+                    self.unquote(vp)
+                    for vp in varname.split(self._HIER_SEPARATOR)
+                ]
+            else:
+                varnameparts = tuple()
         else:
             varnameparts = (varname,)
         return self.getvarl(*varnameparts, namespace=varns, default=default)
@@ -506,6 +510,8 @@
         else `default` is returned.
         """
         default = kwds.pop("default", _MARKER)
+        if not path:
+            return self
         try:
             v = self.expand_if_reference(self[path[0]])
             for p in path[1:]: