Mercurial > hgrepos > Python > libs > ConfigMix
diff configmix/variables.py @ 697:57fe110c50c8
Implement a new "SYS" namespace with "prefix", "base_prefix" and "platform"
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Wed, 14 Jun 2023 01:11:01 +0200 |
| parents | f454889e41fa |
| children | 3a9d661d33b5 |
line wrap: on
line diff
--- a/configmix/variables.py Mon Jun 12 09:28:36 2023 +0200 +++ b/configmix/variables.py Wed Jun 14 01:11:01 2023 +0200 @@ -15,6 +15,7 @@ import os import platform +import sys from functools import wraps from .compat import PY2, native_os_str_to_text, text_to_native_os_str, u @@ -48,6 +49,27 @@ return default +def _syslookup(name, default=_MARKER): + """Lookup some variables from Python's :mod:`sys` module""" + if name == "prefix": + return native_os_str_to_text(sys.prefix) + elif name == "base_prefix": + val = getattr(sys, name, _MARKER) + if val is _MARKER: + if default is _MARKER: + raise KeyError("key %r not found in the namespace" % name) + else: + return default + return native_os_str_to_text(val) + elif name == "platform": + return native_os_str_to_text(sys.platform) + else: + if default is _MARKER: + raise KeyError("key %r not found in the namespace" % name) + else: + return default + + def _pylookup(name, default=_MARKER): """Lookup Python specific information""" if name == "version": @@ -270,6 +292,7 @@ add_varns("ENV", _envlookup) add_varns("OS", _oslookup) add_varns("PY", _pylookup) +add_varns("SYS", _syslookup) try: from .extras import aws except ImportError:
