changeset 531:be740ed67d16

Optimize jailed configuration somewhat: do not append empty tuples
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 20 Dec 2021 22:31:58 +0100
parents 28191d61b042
children c2947ac74b0c
files configmix/config.py
diffstat 1 files changed, 15 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/configmix/config.py	Mon Dec 20 14:33:54 2021 +0100
+++ b/configmix/config.py	Mon Dec 20 22:31:58 2021 +0100
@@ -1072,19 +1072,21 @@
 
     def getvar(self, varname, **kwds):
         if varname:
-            varnameparts = tuple([unquote(vp)
-                                  for vp in varname.split(_HIER_SEPARATOR)])
+            varnameparts = self._path \
+                + tuple([unquote(vp)
+                         for vp in varname.split(_HIER_SEPARATOR)])
         else:
-            varnameparts = tuple()
-        return self._base.getvarl(*(self._path + varnameparts), **kwds)
+            varnameparts = self._path
+        return self._base.getvarl(*varnameparts, **kwds)
 
     def getkeys(self, varname):
         if varname:
-            varnameparts = tuple([unquote(vp)
-                                  for vp in varname.split(_HIER_SEPARATOR)])
+            varnameparts = self._path \
+                + tuple([unquote(vp)
+                         for vp in varname.split(_HIER_SEPARATOR)])
         else:
-            varnameparts = tuple()
-        for k in self._base.getkeysl(*(self._path + varnameparts)):
+            varnameparts = self._path
+        for k in self._base.getkeysl(*varnameparts):
             yield k
 
     def getfirstvar(self, *varnames, **kwds):
@@ -1093,11 +1095,12 @@
 
     def getvar_s(self, varname, **kwds):
         if varname:
-            varnameparts = tuple([unquote(vp)
-                                  for vp in varname.split(_HIER_SEPARATOR)])
+            varnameparts = self._path \
+                + tuple([unquote(vp)
+                         for vp in varname.split(_HIER_SEPARATOR)])
         else:
-            varnameparts = tuple()
-        return self._base.getvarl_s(*(self._path + varnameparts), **kwds)
+            varnameparts = self._path
+        return self._base.getvarl_s(*varnameparts, **kwds)
 
     def getfirstvar_s(self, *varnames, **kwds):
         real_varnames = [self._pathstr + vn for vn in varnames]