summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGregory P. Smith <greg@mad-scientist.com>2000-05-12 00:40:00 (GMT)
committerGregory P. Smith <greg@mad-scientist.com>2000-05-12 00:40:00 (GMT)
commite7e35ac1c2e3c6b6a0836931b5c678d6af17129c (patch)
tree72aabbeabd0d72b787f574e2f8888e7f18226b9a
parent6cd0c433665584abe33539945dbe6a0fbd98a195 (diff)
downloadcpython-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.py11
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):