Zachary Ware added the comment:
To kick this along a bit, do the following testcases seem like the right
behavior to others, based on Mark Hammond's roadmap in msg51983? If there's
some agreement, I'll work on getting a modernized patch put together.
# currently (3.4)
assertTrue(ntpath.isabs(r"\driveless\halfbreed"))
assertFalse(ntpath.isabs(r"D:rived\halfbreed"))
assertTrue(ntpath.isabs(r"\\any\UNC\path"))
assertTrue(ntpath.isabs(r"O:\bviously\absolute"))
assertFalse(ntpath.isabs(r"obviously\relative"))
# 3.5
# Halfbreeds are not relative, keep same isabs behavior but warn
with assertWarnsRegex(FutureWarning, "will return False in 3.6"):
assertTrue(ntpath.isabs(r"\driveless\halfbreed"))
# same behavior
assertFalse(ntpath.isabs(r"D:rived\halfbreed"))
assertTrue(ntpath.isabs(r"\\any\UNC\path"))
assertTrue(ntpath.isabs(r"O:\bviously\absolute"))
assertFalse(ntpath.isabs(r"obviously\relative"))
# new functions
assertFalse(ntpath.isrelative(r"\driveless\halfbreed"))
assertFalse(ntpath.isrelative(r"D:rived\halfbreed"))
assertFalse(ntpath.isrelative(r"\\any\UNC\path"))
assertFalse(ntpath.isrelative(r"O:\bviously\absolute"))
assertTrue(ntpath.isrelative(r"obviously\relative"))
assertTrue(posixpath.isrelative("foo/bar"))
assertTrue(macpath.isrelative(":foo:bar"))
assertTrue(macpath.isrelative("foobar"))
# 3.6
assertFalse(ntpath.isabs(r"\driveless\halfbreed"))
# all else the same
I'll note that this is a bit extra complicated by the fact that MS calls
r"\driveless\halfbreed" an "absolute path", see
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.100%29.aspx#fully_qualified_vs._relative_paths
That gives me the impression that Windows has notions of "fully qualified"
paths (r"C:\foo", "C:\\", r"\\any\UNC\path"), absolute paths (r"\foo", etc.),
and relative paths (r"foo\bar", "C:foo", and annoyingly, "C:\foo\..\bar"). My
opinion is that we should just declare "we don't quite agree with MS on this
one" and go with the semantics outlined above, though we're currently mostly in
agreement with them.
----------
nosy: +zach.ware
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue1669539>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com