comparison configmix/variables.py @ 698:3a9d661d33b5

Implement SYS:executable
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 14 Jun 2023 09:13:07 +0200
parents 57fe110c50c8
children 59a3fb7fcac3
comparison
equal deleted inserted replaced
697:57fe110c50c8 698:3a9d661d33b5
49 return default 49 return default
50 50
51 51
52 def _syslookup(name, default=_MARKER): 52 def _syslookup(name, default=_MARKER):
53 """Lookup some variables from Python's :mod:`sys` module""" 53 """Lookup some variables from Python's :mod:`sys` module"""
54 if name == "executable":
55 return native_os_str_to_text(sys.executable)
54 if name == "prefix": 56 if name == "prefix":
55 return native_os_str_to_text(sys.prefix) 57 return native_os_str_to_text(sys.prefix)
56 elif name == "base_prefix": 58 if name == "base_prefix":
57 val = getattr(sys, name, _MARKER) 59 val = getattr(sys, name, _MARKER)
58 if val is _MARKER: 60 if val is _MARKER:
59 if default is _MARKER: 61 if default is _MARKER:
60 raise KeyError("key %r not found in the namespace" % name) 62 raise KeyError("key %r not found in the namespace" % name)
61 else: 63 else:
62 return default 64 return default
63 return native_os_str_to_text(val) 65 return native_os_str_to_text(val)
64 elif name == "platform": 66 if name == "platform":
65 return native_os_str_to_text(sys.platform) 67 return native_os_str_to_text(sys.platform)
68 if default is _MARKER:
69 raise KeyError("key %r not found in the namespace" % name)
66 else: 70 else:
67 if default is _MARKER: 71 return default
68 raise KeyError("key %r not found in the namespace" % name)
69 else:
70 return default
71 72
72 73
73 def _pylookup(name, default=_MARKER): 74 def _pylookup(name, default=_MARKER):
74 """Lookup Python specific information""" 75 """Lookup Python specific information"""
75 if name == "version": 76 if name == "version":