(self, drv, root, parts, drv2, root2, parts2)
return drv2, root2, parts2
Join the two paths represented by the respective
        (drive, root, parts) tuples.  Return a new (drive, root, parts) tuple.
Join the two paths represented by the respective
        (drive, root, parts) tuples.  Return a new (drive, root, parts) tuple.
Join the two paths represented by the respective ( drive root parts ) tuples . Return a new ( drive root parts ) tuple .
def join_parsed_parts(self, drv, root, parts, drv2, root2, parts2):
        """
        Join the two paths represented by the respective
        (drive, root, parts) tuples.  Return a new (drive, root, parts) tuple.
        """
        if root2:
            if not drv2 and drv:
                return drv, root2, [drv + root2] + parts2[1:]
        elif drv2:
            if drv2 == drv or self.casefold(drv2) == self.casefold(drv):
                # Same drive => second path is relative to the first
                return drv, root, parts + parts2[1:]
        else:
            # Second path is non-anchored (common case)
            return drv, root, parts + parts2
        return drv2, root2, parts2
def join_parsed_parts ( self , drv , root , parts , drv2 , root2 , parts2 ) : if root2 : if not drv2 and drv : return drv , root2 , [ drv + root2 ] + parts2 [ 1 : ] elif drv2 : if drv2 == drv or self . casefold ( drv2 ) == self . casefold ( drv ) : # Same drive => second path is relative to the first return drv , root , parts + parts2 [ 1 : ] else : # Second path is non-anchored (common case) return drv , root , parts + parts2 return drv2 , root2 , parts2