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/command/build_py.py | |
parent | 28f4890f20704e8aa0248843fef703883bdea544 (diff) | |
download | python-setuptools-git-9c2cf25a13bf33a3fd706c97064c0d2fa22be179.tar.gz |
Use unique_everseen from more_itertools.
Diffstat (limited to 'setuptools/command/build_py.py')
-rw-r--r-- | setuptools/command/build_py.py | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/setuptools/command/build_py.py b/setuptools/command/build_py.py index b30aa129..df6fd323 100644 --- a/setuptools/command/build_py.py +++ b/setuptools/command/build_py.py @@ -8,6 +8,7 @@ import io import distutils.errors import itertools import stat +from setuptools.extern.more_itertools import unique_everseen try: from setuptools.lib2to3_ex import Mixin2to3 @@ -214,7 +215,7 @@ class build_py(orig.build_py, Mixin2to3): if fn not in bad ) # ditch dupes - return list(_unique_everseen(keepers)) + return list(unique_everseen(keepers)) @staticmethod def _get_platform_patterns(spec, package, src_dir): @@ -235,25 +236,6 @@ class build_py(orig.build_py, Mixin2to3): ) -# from Python docs -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 - - def assert_relative(path): if not os.path.isabs(path): return path |