diff options
| author | Jason R. Coombs <jaraco@jaraco.com> | 2021-05-22 19:19:05 -0400 |
|---|---|---|
| committer | Jason R. Coombs <jaraco@jaraco.com> | 2021-05-22 19:19:05 -0400 |
| commit | 9c2cf25a13bf33a3fd706c97064c0d2fa22be179 (patch) | |
| tree | c304c7604a18029b4fdff76f97a38b9bbdd6edf0 /setuptools/msvc.py | |
| parent | 28f4890f20704e8aa0248843fef703883bdea544 (diff) | |
| download | python-setuptools-git-9c2cf25a13bf33a3fd706c97064c0d2fa22be179.tar.gz | |
Use unique_everseen from more_itertools.
Diffstat (limited to 'setuptools/msvc.py')
| -rw-r--r-- | setuptools/msvc.py | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/setuptools/msvc.py b/setuptools/msvc.py index fd4b0781..281ea1c2 100644 --- a/setuptools/msvc.py +++ b/setuptools/msvc.py @@ -30,6 +30,7 @@ import itertools import subprocess import distutils.errors from setuptools.extern.packaging.version import LegacyVersion +from setuptools.extern.more_itertools import unique_everseen from .monkey import get_unpatched @@ -1800,29 +1801,5 @@ class EnvironmentInfo: if not extant_paths: msg = "%s environment variable is empty" % name.upper() raise distutils.errors.DistutilsPlatformError(msg) - unique_paths = self._unique_everseen(extant_paths) + unique_paths = unique_everseen(extant_paths) return pathsep.join(unique_paths) - - # from Python docs - @staticmethod - def _unique_everseen(iterable, key=None): - """ - List unique elements, preserving order. - Remember all elements ever seen. - - _unique_everseen('AAAABBBCCDAABBB') --> A B C D - - _unique_everseen('ABBCcAD', str.lower) --> A B C D - """ - seen = set() - seen_add = seen.add - if key is None: - for element in itertools.filterfalse(seen.__contains__, iterable): - seen_add(element) - yield element - else: - for element in iterable: - k = key(element) - if k not in seen: - seen_add(k) - yield element |
