diff options
Diffstat (limited to 'e/lib/python3.11/site-packages/setuptools/_path.py')
-rw-r--r-- | e/lib/python3.11/site-packages/setuptools/_path.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/e/lib/python3.11/site-packages/setuptools/_path.py b/e/lib/python3.11/site-packages/setuptools/_path.py new file mode 100644 index 0000000..3767523 --- /dev/null +++ b/e/lib/python3.11/site-packages/setuptools/_path.py @@ -0,0 +1,29 @@ +import os +from typing import Union + +_Path = Union[str, os.PathLike] + + +def ensure_directory(path): + """Ensure that the parent directory of `path` exists""" + dirname = os.path.dirname(path) + os.makedirs(dirname, exist_ok=True) + + +def same_path(p1: _Path, p2: _Path) -> bool: + """Differs from os.path.samefile because it does not require paths to exist. + Purely string based (no comparison between i-nodes). + >>> same_path("a/b", "./a/b") + True + >>> same_path("a/b", "a/./b") + True + >>> same_path("a/b", "././a/b") + True + >>> same_path("a/b", "./a/b/c/..") + True + >>> same_path("a/b", "../a/b/c") + False + >>> same_path("a", "a/b") + False + """ + return os.path.normpath(p1) == os.path.normpath(p2) |