]> granicus.if.org Git - python/commitdiff
Part of the fix for bug #410541: add ensure_relative() function
authorAndrew M. Kuchling <amk@amk.ca>
Tue, 26 Nov 2002 17:42:48 +0000 (17:42 +0000)
committerAndrew M. Kuchling <amk@amk.ca>
Tue, 26 Nov 2002 17:42:48 +0000 (17:42 +0000)
Lib/distutils/dir_util.py

index ca9fa9dc7fcb09afec6fa83fb717066a65a3be7a..bd1ea0f24368973714a543648adcac3513e3bc32 100644 (file)
@@ -6,7 +6,7 @@ Utility functions for manipulating directories and directory trees."""
 
 __revision__ = "$Id$"
 
-import os
+import os, sys
 from types import *
 from distutils.errors import DistutilsFileError, DistutilsInternalError
 from distutils import log
@@ -212,3 +212,17 @@ def remove_tree (directory, verbose=0, dry_run=0):
         except (IOError, OSError), exc:
             log.warn(grok_environment_error(
                     exc, "error removing %s: " % directory))
+
+
+def ensure_relative (path):
+    """Take the full path 'path', and make it a relative path so
+    it can be the second argument to os.path.join().
+    """
+    drive, path = os.path.splitdrive(path)
+    if sys.platform == 'mac':
+        return os.sep + path
+    else:
+        if path[0:1] == os.sep:
+            path = drive + path[1:]
+        return path
+