diff options
author | Gregory P. Smith <greg@mad-scientist.com> | 2000-05-12 00:40:00 (GMT) |
---|---|---|
committer | Gregory P. Smith <greg@mad-scientist.com> | 2000-05-12 00:40:00 (GMT) |
commit | e7e35ac1c2e3c6b6a0836931b5c678d6af17129c (patch) | |
tree | 72aabbeabd0d72b787f574e2f8888e7f18226b9a | |
parent | 6cd0c433665584abe33539945dbe6a0fbd98a195 (diff) | |
download | cpython-e7e35ac1c2e3c6b6a0836931b5c678d6af17129c.zip cpython-e7e35ac1c2e3c6b6a0836931b5c678d6af17129c.tar.gz cpython-e7e35ac1c2e3c6b6a0836931b5c678d6af17129c.tar.bz2 |
Made 'check_environ()' "public" by stripping the leading underscore;
added a global '_environ_checked' so we know if it's already been
called.
-rw-r--r-- | Lib/distutils/util.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py index 8e642e1..b660b4b 100644 --- a/Lib/distutils/util.py +++ b/Lib/distutils/util.py @@ -111,7 +111,8 @@ def change_root (new_root, pathname): "nothing known about platform '%s'" % os.name -def _check_environ (): +_environ_checked = 0 +def check_environ (): """Ensure that 'os.environ' has all the environment variables we guarantee that users can use in config files, command-line options, etc. Currently this includes: @@ -120,6 +121,10 @@ def _check_environ (): and OS (see 'get_platform()') """ + global _environ_checked + if _environ_checked: + return + if os.name == 'posix' and not os.environ.has_key('HOME'): import pwd os.environ['HOME'] = pwd.getpwuid (os.getuid())[5] @@ -127,6 +132,8 @@ def _check_environ (): if not os.environ.has_key('PLAT'): os.environ['PLAT'] = get_platform () + _environ_checked = 1 + def subst_vars (str, local_vars): """Perform shell/Perl-style variable substitution on 'string'. @@ -138,7 +145,7 @@ def subst_vars (str, local_vars): '_check_environ()'. Raise ValueError for any variables not found in either 'local_vars' or 'os.environ'.""" - _check_environ () + check_environ () def _subst (match, local_vars=local_vars): var_name = match.group(1) if local_vars.has_key (var_name): |