summaryrefslogtreecommitdiff
path: root/setuptools
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2022-02-26 12:29:32 -0500
committerJason R. Coombs <jaraco@jaraco.com>2022-02-26 12:44:40 -0500
commit66dcd5e54fd8fb1f9413b4fac04e073984ed0713 (patch)
tree903347b534ebf2feba4900a31a1841d3bf8c946b /setuptools
parentc44e416b44e5e7126f435a7c0b9adc9b88b85cbd (diff)
downloadpython-setuptools-git-66dcd5e54fd8fb1f9413b4fac04e073984ed0713.tar.gz
Use samefile from stdlib, supported on Windows since Python 3.2.
Diffstat (limited to 'setuptools')
-rw-r--r--setuptools/command/easy_install.py20
-rw-r--r--setuptools/package_index.py3
2 files changed, 3 insertions, 20 deletions
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
index 07b45e59..63403d19 100644
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
@@ -70,7 +70,7 @@ from ..extern.jaraco.text import yield_lines
warnings.filterwarnings("default", category=pkg_resources.PEP440Warning)
__all__ = [
- 'samefile', 'easy_install', 'PthDistributions', 'extract_wininst_cfg',
+ 'easy_install', 'PthDistributions', 'extract_wininst_cfg',
'get_exe_prefixes',
]
@@ -79,22 +79,6 @@ def is_64bit():
return struct.calcsize("P") == 8
-def samefile(p1, p2):
- """
- Determine if two paths reference the same file.
-
- Augments os.path.samefile to work on Windows and
- suppresses errors if the path doesn't exist.
- """
- both_exist = os.path.exists(p1) and os.path.exists(p2)
- use_samefile = hasattr(os.path, 'samefile') and both_exist
- if use_samefile:
- return os.path.samefile(p1, p2)
- norm_p1 = os.path.normpath(os.path.normcase(p1))
- norm_p2 = os.path.normpath(os.path.normcase(p2))
- return norm_p1 == norm_p2
-
-
def _to_bytes(s):
return s.encode('utf8')
@@ -928,7 +912,7 @@ class easy_install(Command):
ensure_directory(destination)
dist = self.egg_distribution(egg_path)
- if not samefile(egg_path, destination):
+ if not os.path.samefile(egg_path, destination):
if os.path.isdir(destination) and not os.path.islink(destination):
dir_util.remove_tree(destination, dry_run=self.dry_run)
elif os.path.exists(destination):
diff --git a/setuptools/package_index.py b/setuptools/package_index.py
index 051e523a..4b127f8c 100644
--- a/setuptools/package_index.py
+++ b/setuptools/package_index.py
@@ -680,8 +680,7 @@ class PackageIndex(Environment):
# Make sure the file has been downloaded to the temp dir.
if os.path.dirname(filename) != tmpdir:
dst = os.path.join(tmpdir, basename)
- from setuptools.command.easy_install import samefile
- if not samefile(filename, dst):
+ if not os.path.samefile(filename, dst):
shutil.copy2(filename, dst)
filename = dst