jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1327444?usp=email )
Change subject: solve_disambiguation: Filter first links linearly
......................................................................
solve_disambiguation: Filter first links linearly
Build the result directly instead of copying the link list and repeatedly
removing nonmatching entries.
This preserves input order and duplicates while avoiding quadratic list
scans.
Change-Id: I03df254765f0d4e1fba02aacb286ed636c81611a
---
M scripts/solve_disambiguation.py
1 file changed, 1 insertion(+), 5 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/scripts/solve_disambiguation.py b/scripts/solve_disambiguation.py
index 96782d7..81484fb 100755
--- a/scripts/solve_disambiguation.py
+++ b/scripts/solve_disambiguation.py
@@ -702,11 +702,7 @@
in command line.
"""
titles = {first_upper(t) for t in self.firstlinks(page)}
- links = list(links)
- for link in links[:]: # uses a copy because of remove!
- if link.title() not in titles:
- links.remove(link)
- return links
+ return [link for link in links if link.title() in titles]
def treat_links(self, ref_page, disamb_page) -> bool:
"""Resolve the links to disamb_page or its redirects.
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1327444?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I03df254765f0d4e1fba02aacb286ed636c81611a
Gerrit-Change-Number: 1327444
Gerrit-PatchSet: 2
Gerrit-Owner: Mahveotm <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]