jenkins-bot has submitted this change and it was merged.

Change subject: Use PreloadingGenerator when retrieving redirects from special 
page
......................................................................


Use PreloadingGenerator 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, 18 insertions(+), 8 deletions(-)

Approvals:
  John Vandenberg: Looks good to me, approved
  XZise: Looks good to me, but someone else must approve
  jenkins-bot: Verified



diff --git a/scripts/redirect.py b/scripts/redirect.py
index 078a0b7..b8e299c 100755
--- a/scripts/redirect.py
+++ b/scripts/redirect.py
@@ -71,8 +71,8 @@
 #
 # (C) Daniel Herding, 2004
 # (C) Purodha Blissenbach, 2009
-# (C) xqt, 2009-2014
-# (C) Pywikibot team, 2004-2014
+# (C) xqt, 2009-2015
+# (C) Pywikibot team, 2004-2015
 #
 # Distributed under the terms of the MIT license.
 #
@@ -82,9 +82,13 @@
 #
 
 import re
+import sys
 import datetime
 import pywikibot
 from pywikibot import i18n, xmlreader, Bot
+
+if sys.version_info[0] > 2:
+    basestring = (str, )
 
 
 def space_to_underscore(link):
@@ -292,8 +296,8 @@
         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()
+            for page in self.site.preloadpages(self.site.broken_redirects()):
+                yield page
 
     def retrieve_double_redirects(self):
         if self.use_move_log:
@@ -326,8 +330,8 @@
         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()
+            for page in self.site.preloadpages(self.site.double_redirects()):
+                yield page
 
     def get_moved_pages_redirects(self):
         """Generate redirects to recently-moved pages."""
@@ -424,7 +428,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} <<<"
@@ -531,7 +538,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: merged
Gerrit-Change-Id: I5570523c977578ad6db61425b3115e09de54fc5d
Gerrit-PatchSet: 7
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: John Vandenberg <[email protected]>
Gerrit-Reviewer: Ladsgroup <[email protected]>
Gerrit-Reviewer: Merlijn van Deen <[email protected]>
Gerrit-Reviewer: Ricordisamoa <[email protected]>
Gerrit-Reviewer: Russell Blau <[email protected]>
Gerrit-Reviewer: XZise <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
Pywikibot-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-commits

Reply via email to