Skip to content

Commit 00f6126

Browse files
committed
Remove flavour.join_parsed_parts()
1 parent 3094398 commit 00f6126

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

Lib/pathlib.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -88,23 +88,6 @@ def parse_parts(self, parts):
8888
parsed.reverse()
8989
return drv, root, parsed
9090

91-
def join_parsed_parts(self, drv, root, parts, drv2, root2, parts2):
92-
"""
93-
Join the two paths represented by the respective
94-
(drive, root, parts) tuples. Return a new (drive, root, parts) tuple.
95-
"""
96-
if root2:
97-
if not drv2 and drv:
98-
return drv, root2, [drv + root2] + parts2[1:]
99-
elif drv2:
100-
if drv2 == drv or self.casefold(drv2) == self.casefold(drv):
101-
# Same drive => second path is relative to the first
102-
return drv, root, parts + parts2[1:]
103-
else:
104-
# Second path is non-anchored (common case)
105-
return drv, root, parts + parts2
106-
return drv2, root2, parts2
107-
10891

10992
class _WindowsFlavour(_Flavour):
11093
# Reference for Windows paths can be found at
@@ -558,10 +541,27 @@ def _format_parsed_parts(cls, drv, root, parts):
558541

559542
def _make_child(self, args):
560543
drv, root, parts = self._parse_args(args)
561-
drv, root, parts = self._flavour.join_parsed_parts(
544+
drv, root, parts = self._join_parsed_parts(
562545
self._drv, self._root, self._parts, drv, root, parts)
563546
return self._from_parsed_parts(drv, root, parts)
564547

548+
def _join_parsed_parts(self, drv, root, parts, drv2, root2, parts2):
549+
"""
550+
Join the two paths represented by the respective
551+
(drive, root, parts) tuples. Return a new (drive, root, parts) tuple.
552+
"""
553+
if root2:
554+
if not drv2 and drv:
555+
return drv, root2, [drv + root2] + parts2[1:]
556+
elif drv2:
557+
if drv2 == drv or self._flavour.casefold(drv2) == self._flavour.casefold(drv):
558+
# Same drive => second path is relative to the first
559+
return drv, root, parts + parts2[1:]
560+
else:
561+
# Second path is non-anchored (common case)
562+
return drv, root, parts + parts2
563+
return drv2, root2, parts2
564+
565565
def __str__(self):
566566
"""Return the string representation of the path, suitable for
567567
passing to system calls."""

0 commit comments

Comments
 (0)