Skip to content

Commit bb52e72

Browse files
committed
Improve auto-update of extern list
1 parent 3d7599b commit bb52e72

File tree

3 files changed

+20
-15
lines changed

3 files changed

+20
-15
lines changed

pkg_resources/extern/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ def install(self):
7272

7373
# [[[cog
7474
# import cog
75-
# from tools.vendored import yield_root_package
76-
# names = "\n".join(f" {x!r}," for x in yield_root_package('pkg_resources'))
75+
# from tools.vendored import yield_top_level
76+
# names = "\n".join(f" {x!r}," for x in yield_top_level('pkg_resources'))
7777
# cog.outl(f"names = (\n{names}\n)")
7878
# ]]]
7979
names = (

setuptools/extern/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ def install(self):
7272

7373
# [[[cog
7474
# import cog
75-
# from tools.vendored import yield_root_package
76-
# names = "\n".join(f" {x!r}," for x in yield_root_package('setuptools'))
75+
# from tools.vendored import yield_top_level
76+
# names = "\n".join(f" {x!r}," for x in yield_top_level('setuptools'))
7777
# cog.outl(f"names = (\n{names}\n)")
7878
# ]]]
7979
names = (

tools/vendored.py

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -165,18 +165,23 @@ def update_setuptools():
165165
rewrite_more_itertools(vendor / "more_itertools")
166166

167167

168-
def yield_root_package(name):
169-
"""Useful when defining the MetaPathFinder
170-
>>> examples = set(yield_root_package("setuptools")) & {"jaraco", "backports"}
168+
def yield_top_level(name):
169+
"""Iterate over all modules and (top level) packages vendored
170+
>>> roots = set(yield_top_level("setuptools"))
171+
>>> examples = roots & {"jaraco", "backports", "zipp"}
171172
>>> list(sorted(examples))
172-
['backports', 'jaraco']
173-
"""
174-
vendored = Path(f"{name}/_vendor/vendored.txt")
175-
yield from (
176-
line.partition("=")[0].partition(".")[0].replace("-", "_")
177-
for line in vendored.read_text(encoding="utf-8").splitlines()
178-
if line and not line.startswith("#")
179-
)
173+
['backports', 'jaraco', 'zipp']
174+
"""
175+
vendor = Path(f"{name}/_vendor")
176+
ignore = {"__pycache__", "__init__.py", ".ruff_cache"}
177+
178+
for item in vendor.iterdir():
179+
if item.name in ignore:
180+
continue
181+
if item.is_dir() and item.suffix != ".dist-info":
182+
yield str(item.name)
183+
if item.is_file() and item.suffix == ".py":
184+
yield str(item.stem)
180185

181186

182187
__name__ == '__main__' and update_vendored()

0 commit comments

Comments
 (0)