summaryrefslogtreecommitdiff
path: root/e/lib/python3.11/site-packages/setuptools/_path.py
diff options
context:
space:
mode:
authorHaoran S. Diao (刁浩然) <0@hairydiode.xyz>2023-07-05 04:53:17 -0700
committerHaoran S. Diao (刁浩然) <0@hairydiode.xyz>2023-07-05 04:53:17 -0700
commit7cd46f6842cc0e0c8279b1f1607d9ffb4acb9102 (patch)
treee4489aeaa83e3f944d70914689c4a02adb39a52f /e/lib/python3.11/site-packages/setuptools/_path.py
initial commit, includes venv
Diffstat (limited to 'e/lib/python3.11/site-packages/setuptools/_path.py')
-rw-r--r--e/lib/python3.11/site-packages/setuptools/_path.py29
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)