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