]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
same thing as for dospath, plus HOMEDRIVE/HOMEPATH support
authorGuido van Rossum <guido@python.org>
Thu, 10 Aug 1995 19:34:50 +0000 (19:34 +0000)
committerGuido van Rossum <guido@python.org>
Thu, 10 Aug 1995 19:34:50 +0000 (19:34 +0000)
Lib/ntpath.py

index 1479e1be8c764cc47ee34032bd01832853b75f98..1109d448117d4b595eb195c99f93b276b2a00cb5 100644 (file)
@@ -1,4 +1,4 @@
-# Module 'dospath' -- common operations on DOS pathnames
+# Module 'ntpath' -- common operations on DOS pathnames
 
 import os
 import stat
@@ -7,27 +7,22 @@ import string
 
 # Normalize the case of a pathname.
 # On MS-DOS it maps the pathname to lowercase, turns slashes into
-# backslashes and maps invalid consecutive characters to a single '_'.
+# backslashes.
 # Other normalizations (such as optimizing '../' away) are not allowed
 # (this is done by normpath).
-
-mapchar = '_'
+# Previously, this version mapped invalid consecutive characters to a 
+# single '_', but this has been removed.  This functionality should 
+# possibly be added as a new function.
 
 def normcase(s):
        res, s = splitdrive(s)
        for c in s:
                if c in '/\\':
                        res = res + os.sep
-               elif c == '.' and res[-1:] == os.sep:
-                       res = res + mapchar + c
-               elif ord(c) < 32 or c in ' "*+,:;<=>?[]|':
-                       if res[-1:] != mapchar:
-                               res = res + mapchar
                else:
                        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
@@ -243,9 +238,13 @@ def expanduser(path):
        while i < n and path[i] not in '/\\':
                i = i+1
        if i == 1:
-               if not os.environ.has_key('HOME'):
+               try:
+                       drive=os.environ['HOMEDRIVE']
+               except KeyError:
+                       drive = ''
+               if not os.environ.has_key('HOMEPATH'):
                        return path
-               userhome = os.environ['HOME']
+               userhome = join(drive, os.environ['HOMEPATH'])
        else:
                return path
        return userhome + path[i:]