]> granicus.if.org Git - python/commitdiff
Made 'check_environ()' "public" by stripping the leading underscore;
authorGregory P. Smith <greg@mad-scientist.com>
Fri, 12 May 2000 00:40:00 +0000 (00:40 +0000)
committerGregory P. Smith <greg@mad-scientist.com>
Fri, 12 May 2000 00:40:00 +0000 (00:40 +0000)
added a global '_environ_checked' so we know if it's already been
called.

Lib/distutils/util.py

index 8e642e16c6d9b330aa0f6d6a48591ca789ff63dc..b660b4bf2bb5bf09c8972d0b416a1a7b31910504 100644 (file)
@@ -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):