diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2002-11-26 17:42:48 (GMT) |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2002-11-26 17:42:48 (GMT) |
commit | 40f23e0ddf4aa875cc46e1bddeb88a0a3b7c3fdc (patch) | |
tree | 1b9caf302690beb4036af250fc7e340389c0966d /Lib/distutils/dir_util.py | |
parent | 96bc3b4d741091d66e390705ae99df2f06fde606 (diff) | |
download | cpython-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/dir_util.py')
-rw-r--r-- | Lib/distutils/dir_util.py | 16 |
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 + |