]> granicus.if.org Git - python/commitdiff
Support $HOME in expanduser().
authorGuido van Rossum <guido@python.org>
Mon, 2 Jun 1997 23:11:57 +0000 (23:11 +0000)
committerGuido van Rossum <guido@python.org>
Mon, 2 Jun 1997 23:11:57 +0000 (23:11 +0000)
(Who'd thought that *anyone* would be interested in writing ~/foo on NT :-)

Lib/ntpath.py

index a5bdc050adb6da79ea76737e932844d8b2a3a5dc..ea855d5019330cf6257aedd82ce2e70322119cf8 100644 (file)
@@ -23,6 +23,7 @@ def normcase(s):
                        res = res + c
        return string.lower(res)
 
+
 # Return wheter a path is absolute.
 # Trivial in Posix, harder on the Mac or MS-DOS.
 # For DOS it is absolute if it starts with a slash or backslash (current
@@ -34,6 +35,8 @@ def isabs(s):
        return s != '' and s[:1] in '/\\'
 
 
+# Join two (or more) paths.
+
 def join(a, *p):
        path = a
        for b in p:
@@ -244,13 +247,16 @@ def expanduser(path):
        while i < n and path[i] not in '/\\':
                i = i+1
        if i == 1:
-               try:
-                       drive=os.environ['HOMEDRIVE']
-               except KeyError:
-                       drive = ''
-               if not os.environ.has_key('HOMEPATH'):
+               if os.environ.has_key('HOME'):
+                       userhome = os.environ['HOME']
+               elif not os.environ.has_key('HOMEPATH'):
                        return path
-               userhome = join(drive, os.environ['HOMEPATH'])
+               else:
+                       try:
+                               drive=os.environ['HOMEDRIVE']
+                       except KeyError:
+                               drive = ''
+                       userhome = join(drive, os.environ['HOMEPATH'])
        else:
                return path
        return userhome + path[i:]