Mercurial > hgrepos > Python > libs > ConfigMix
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 418:bb5f11abd12a | 419:079a82129110 |
|---|---|
| 341 See also :meth:`~.quote`. | 341 See also :meth:`~.quote`. |
| 342 | 342 |
| 343 """ | 343 """ |
| 344 varns, varname = self._split_ns(varname) | 344 varns, varname = self._split_ns(varname) |
| 345 if not varns: | 345 if not varns: |
| 346 varnameparts = [ | 346 if varname: |
| 347 self.unquote(vp) for vp in varname.split(self._HIER_SEPARATOR) | 347 varnameparts = [ |
| 348 ] | 348 self.unquote(vp) |
| 349 for vp in varname.split(self._HIER_SEPARATOR) | |
| 350 ] | |
| 351 else: | |
| 352 varnameparts = tuple() | |
| 349 else: | 353 else: |
| 350 varnameparts = (varname,) | 354 varnameparts = (varname,) |
| 351 return self.getvarl(*varnameparts, namespace=varns, default=default) | 355 return self.getvarl(*varnameparts, namespace=varns, default=default) |
| 352 | 356 |
| 353 def getkeys(self, varname): | 357 def getkeys(self, varname): |
| 504 | 508 |
| 505 If no default is given an unexisting `path` raises a `KeyError` | 509 If no default is given an unexisting `path` raises a `KeyError` |
| 506 else `default` is returned. | 510 else `default` is returned. |
| 507 """ | 511 """ |
| 508 default = kwds.pop("default", _MARKER) | 512 default = kwds.pop("default", _MARKER) |
| 513 if not path: | |
| 514 return self | |
| 509 try: | 515 try: |
| 510 v = self.expand_if_reference(self[path[0]]) | 516 v = self.expand_if_reference(self[path[0]]) |
| 511 for p in path[1:]: | 517 for p in path[1:]: |
| 512 v = self.expand_if_reference(v[p]) | 518 v = self.expand_if_reference(v[p]) |
| 513 except TypeError: | 519 except TypeError: |
