[Pywikipedia-l] SVN: [5982] trunk/pywikipedia/checkimages.py

filnik at svn.wikimedia.org filnik at svn.wikimedia.org
Thu Oct 16 16:49:27 UTC 2008


Revision: 5982
Author:   filnik
Date:     2008-10-16 16:49:27 +0000 (Thu, 16 Oct 2008)

Log Message:
-----------
New function: pageAPInfo() to know if a page is a redirect or it's empty calling the API to improve the performance in some situations

Modified Paths:
--------------
    trunk/pywikipedia/checkimages.py

Modified: trunk/pywikipedia/checkimages.py
===================================================================
--- trunk/pywikipedia/checkimages.py	2008-10-16 16:14:56 UTC (rev 5981)
+++ trunk/pywikipedia/checkimages.py	2008-10-16 16:49:27 UTC (rev 5982)
@@ -633,7 +633,8 @@
         # Getting the talk page's history, to check if there is another advise...
         # The try block is used to prevent error if you use an old wikipedia.py's version.
         edit_to_load = 10
-        if self.talk_page.exists():
+        try:
+            testoattuale = self.talk_page.get()
             try:
                 history = self.talk_page.getVersionHistory(False, False, False, edit_to_load)
             except TypeError:
@@ -641,24 +642,22 @@
             latest_edit = history[0]
             latest_user = latest_edit[2]
             wikipedia.output(u'The latest user that has written something is: %s' % latest_user)
-            try:
-                testoattuale = self.talk_page.get() # Actual text
-            except wikipedia.IsRedirectPage:
-                wikipedia.output(u'The user talk is a redirect, trying to get the right talk...')
-                try:
-                    self.talk_page = self.talk_page.getRedirectTarget()
-                    testoattuale = self.talk_page.get()
-                except wikipedia.NoPage:
-                    second_text = False
-                    ti_es_ti = wikipedia.translate(self.site, empty)
-                    testoattuale = ti_es_ti
             for i in self.botolist:
                 if latest_user == i:
                     second_text = True
                     # A block to prevent the second message if the bot also welcomed users...
                     if latest_edit == history[-1]:
                         second_text = False
-        else:
+        except wikipedia.IsRedirectPage:
+            wikipedia.output(u'The user talk is a redirect, trying to get the right talk...')
+            try:
+                self.talk_page = self.talk_page.getRedirectTarget()
+                testoattuale = self.talk_page.get()
+            except wikipedia.NoPage:
+                second_text = False
+                ti_es_ti = wikipedia.translate(self.site, empty)
+                testoattuale = ti_es_ti                        
+        except wikipedia.NoPage:
             wikipedia.output(u'The user page is blank')
             second_text = False
             ti_es_ti = wikipedia.translate(self.site, empty)
@@ -944,7 +943,7 @@
         try:
             text_get = another_page.get()
         except wikipedia.NoPage:
-            text_get = str()
+            text_get = ''
         except wikipedia.IsRedirectPage:            
             text_get = another_page.getRedirectTarget().get()
         if len(text_get) >= self.logFulNumber:
@@ -1030,11 +1029,11 @@
         #print template.exists()
         template = wikipedia.Page(self.site, 'Template:%s' % license_selected)
         try:
-            template.get()
+            template.pageAPInfo()
         except wikipedia.NoPage:
             try:
                 template = wikipedia.Page(self.site, license_selected)
-                template.get()
+                template.pageAPInfo()
             except (wikipedia.NoPage, wikipedia.IsRedirectPage):
                 return None # break and exit
         except wikipedia.IsRedirectPage:





More information about the Pywikipedia-l mailing list