jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/978143 )
Change subject: proofreadpage: sort page names before loading pages
......................................................................
proofreadpage: sort page names before loading pages
Sort the list of pages before converting to a preload generator.
Otherwise the sorted() operation will tranform everything to a list,
loading all pages, defeating the purpose of having a generator.
Change-Id: Ie8ca5d7dd37b7dd9fadca42ed5dcf339164fc427
---
M pywikibot/proofreadpage.py
1 file changed, 22 insertions(+), 6 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/proofreadpage.py b/pywikibot/proofreadpage.py
index e72b676..a4ae60f 100644
--- a/pywikibot/proofreadpage.py
+++ b/pywikibot/proofreadpage.py
@@ -1313,7 +1313,14 @@
filter_ql = list(self.site.proofread_levels)
filter_ql.remove(ProofreadPage.WITHOUT_TEXT)
- gen = (self.get_page(i) for i in range(start, end + 1))
+ gen = [self.get_page(i) for i in range(start, end + 1)]
+
+ # Decorate and sort by page number because preloadpages does not
+ # guarantee order.
+ # TODO: remove if preloadpages will guarantee order.
+ gen = [(self.get_number(p), p) for p in gen]
+ gen = [p for n, p in sorted(gen)]
+
if content:
gen = self.site.preloadpages(gen)
# Filter by QL.
@@ -1321,11 +1328,6 @@
# Yield only existing.
if only_existing:
gen = (p for p in gen if p.exists())
- # Decorate and sort by page number because preloadpages does not
- # guarantee order.
- # TODO: remove if preloadpages will guarantee order.
- gen = ((self.get_number(p), p) for p in gen)
- gen = (p for n, p in sorted(gen))
return gen
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/978143
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Ie8ca5d7dd37b7dd9fadca42ed5dcf339164fc427
Gerrit-Change-Number: 978143
Gerrit-PatchSet: 1
Gerrit-Owner: Mpaa <mpaa.wiki(a)gmail.com>
Gerrit-Reviewer: Mpaa <mpaa.wiki(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged