Closed thesamesam closed 9 months ago
OK, so some results of this idea, to show feasibility:
The following function takes around ~1.4 seconds to find all packages under a maintainer, which I think is fast enough.
def all_maintainer_pkgs(search_repo, emails: set[str]):
for cat, pkgs in search_repo.packages.items():
for pkg in pkgs:
xml = LocalMetadataXml(pjoin(search_repo.location[0], cat, pkg, "metadata.xml"))
if emails.intersection(m.email for m in xml.maintainers):
yield f"{cat}/{pkg}"
That sounds fast enough - it's about what a slow grep might take with no parallelisation or restriction to .xml files.
Right now, I run something like this to generate a list of stablereq candidates for each project I'm a member of (or I just set maint=sam for myself):
In a sense, I don't mind this too much, as it shows the composability of our tools, but it's a bit of a mouthful, and it also doesn't handle automatically including the projects I'm a member of.
So, two suggestions:
pkgcheck scan
for packages with `StableRequest