summaryrefslogtreecommitdiff
path: root/server/continuedev/libs/util/map_path.py
blob: 1dddc2e910d05df1f7c999f8a6f4a3b0b60b7412 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from pathlib import Path


def map_path(path: str, orig_root: str, copy_root: str) -> Path:
    path = Path(path)
    if path.is_relative_to(orig_root):
        if path.is_absolute():
            return Path(copy_root) / path.relative_to(orig_root)
        else:
            return path
    else:
        if path.is_absolute():
            return path
        else:
            # For this one, you need to know the directory from which the relative path is being used.
            return Path(orig_root) / path