refine bestrelpath to return "." for X.bestrelpath(X) and refine its docstring
--HG-- branch : trunk
This commit is contained in:
parent
2f50ed3e99
commit
b8db15a94f
|
@ -53,6 +53,8 @@ Bug fixes / Maintenance
|
||||||
on all python versions
|
on all python versions
|
||||||
- install plain py.test/py.which scripts also for Jython, this helps to
|
- install plain py.test/py.which scripts also for Jython, this helps to
|
||||||
get canonical script paths in virtualenv situations
|
get canonical script paths in virtualenv situations
|
||||||
|
- make path.bestrelpath(path) return ".", note that when calling
|
||||||
|
X.bestrelpath the assumption is that X is a directory.
|
||||||
|
|
||||||
Changes between 1.3.0 and 1.3.1
|
Changes between 1.3.0 and 1.3.1
|
||||||
==================================================
|
==================================================
|
||||||
|
|
|
@ -194,10 +194,13 @@ newline will be removed from the end of each line. """
|
||||||
|
|
||||||
def bestrelpath(self, dest):
|
def bestrelpath(self, dest):
|
||||||
""" return a string which is a relative path from self
|
""" return a string which is a relative path from self
|
||||||
to dest such that self.join(bestrelpath) == dest and
|
(assumed to be a directory) to dest such that
|
||||||
if not such path can be determined return dest.
|
self.join(bestrelpath) == dest and if not such
|
||||||
|
path can be determined return dest.
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
|
if self == dest:
|
||||||
|
return os.curdir
|
||||||
base = self.common(dest)
|
base = self.common(dest)
|
||||||
if not base: # can be the case on windows
|
if not base: # can be the case on windows
|
||||||
return str(dest)
|
return str(dest)
|
||||||
|
@ -207,7 +210,7 @@ newline will be removed from the end of each line. """
|
||||||
n = self2base.count(self.sep) + 1
|
n = self2base.count(self.sep) + 1
|
||||||
else:
|
else:
|
||||||
n = 0
|
n = 0
|
||||||
l = ['..'] * n
|
l = [os.pardir] * n
|
||||||
if reldest:
|
if reldest:
|
||||||
l.append(reldest)
|
l.append(reldest)
|
||||||
target = dest.sep.join(l)
|
target = dest.sep.join(l)
|
||||||
|
|
|
@ -117,6 +117,8 @@ class CommonFSTests(object):
|
||||||
def test_bestrelpath(self, path1):
|
def test_bestrelpath(self, path1):
|
||||||
curdir = path1
|
curdir = path1
|
||||||
sep = curdir.sep
|
sep = curdir.sep
|
||||||
|
s = curdir.bestrelpath(curdir)
|
||||||
|
assert s == "."
|
||||||
s = curdir.bestrelpath(curdir.join("hello", "world"))
|
s = curdir.bestrelpath(curdir.join("hello", "world"))
|
||||||
assert s == "hello" + sep + "world"
|
assert s == "hello" + sep + "world"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue