Xqt has uploaded a new change for review.
https://gerrit.wikimedia.org/r/187695
Change subject: Use PreloadingGenertor when retrieving redirects from special
page
......................................................................
Use PreloadingGenertor when retrieving redirects from special page
Improve loading performance for redirects from special page.
Other generators are time consuming and preloading pages does
not give better performance.
Change-Id: I5570523c977578ad6db61425b3115e09de54fc5d
---
M scripts/redirect.py
1 file changed, 17 insertions(+), 6 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core
refs/changes/95/187695/1
diff --git a/scripts/redirect.py b/scripts/redirect.py
index bcb316e..0243190 100755
--- a/scripts/redirect.py
+++ b/scripts/redirect.py
@@ -80,6 +80,7 @@
import datetime
import pywikibot
from pywikibot import i18n, xmlreader, Bot
+from pywikibot import pagegenerators
class RedirectGenerator:
@@ -288,8 +289,10 @@
else:
# retrieve information from broken redirect special page
pywikibot.output(u'Retrieving special page...')
- for redir_name in self.site.broken_redirects():
- yield redir_name.title()
+ gen = self.site.broken_redirects()
+ gen = pagegenerators.PreloadingGenerator(gen)
+ for redir_page in gen:
+ yield redir_page
def retrieve_double_redirects(self):
if self.use_move_log:
@@ -322,8 +325,10 @@
else:
# retrieve information from double redirect special page
pywikibot.output(u'Retrieving special page...')
- for redir_name in self.site.double_redirects():
- yield redir_name.title()
+ gen = self.site.double_redirects()
+ gen = pagegenerators.PreloadingGenerator(gen)
+ for redir_page in gen:
+ yield redir_page
def get_moved_pages_redirects(self):
"""Generate redirects to recently-moved pages."""
@@ -417,7 +422,10 @@
return lastmove.new_title()
def delete_1_broken_redirect(self, redir_name):
- redir_page = pywikibot.Page(self.site, redir_name)
+ if isinstance(redir_name, basestring):
+ redir_page = pywikibot.Page(self.site, redir_name)
+ else:
+ redir_page = redir_name
# Show the title of the page we're working on.
# Highlight the title in purple.
pywikibot.output(u"\n\n>>> \03{lightpurple}%s\03{default} <<<"
@@ -525,7 +533,10 @@
self.fix_1_double_redirect(redir_name)
def fix_1_double_redirect(self, redir_name):
- redir = pywikibot.Page(self.site, redir_name)
+ if isinstance(redir_name, basestring):
+ redir = pywikibot.Page(self.site, redir_name)
+ else:
+ redir = redir_name
# Show the title of the page we're working on.
# Highlight the title in purple.
pywikibot.output(u"\n\n>>> \03{lightpurple}%s\03{default} <<<"
--
To view, visit https://gerrit.wikimedia.org/r/187695
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5570523c977578ad6db61425b3115e09de54fc5d
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Xqt <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits