summaryrefslogtreecommitdiffstats
path: root/Lib/distutils
diff options
context:
space:
mode:
authorAndrew M. Kuchling <amk@amk.ca>2002-11-26 17:42:48 (GMT)
committerAndrew M. Kuchling <amk@amk.ca>2002-11-26 17:42:48 (GMT)
commit40f23e0ddf4aa875cc46e1bddeb88a0a3b7c3fdc (patch)
tree1b9caf302690beb4036af250fc7e340389c0966d /Lib/distutils
parent96bc3b4d741091d66e390705ae99df2f06fde606 (diff)
downloadcpython-40f23e0ddf4aa875cc46e1bddeb88a0a3b7c3fdc.zip
cpython-40f23e0ddf4aa875cc46e1bddeb88a0a3b7c3fdc.tar.gz
cpython-40f23e0ddf4aa875cc46e1bddeb88a0a3b7c3fdc.tar.bz2
Part of the fix for bug #410541: add ensure_relative() function
Diffstat (limited to 'Lib/distutils')
-rw-r--r--Lib/distutils/dir_util.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/Lib/distutils/dir_util.py b/Lib/distutils/dir_util.py
index ca9fa9d..bd1ea0f 100644
--- a/Lib/distutils/dir_util.py
+++ b/Lib/distutils/dir_util.py
@@ -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
+