Revision: 6916
Author:   cosoleto
Date:     2009-05-24 10:37:36 +0000 (Sun, 24 May 2009)

Log Message:
-----------
Site.allpages(): avoid some pointless repeated code execution in while loop.

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

Modified: trunk/pywikipedia/wikipedia.py
===================================================================
--- trunk/pywikipedia/wikipedia.py      2009-05-22 23:45:12 UTC (rev 6915)
+++ trunk/pywikipedia/wikipedia.py      2009-05-24 10:37:36 UTC (rev 6916)
@@ -5492,16 +5492,20 @@
                 yield page
             return
 
+        api_url_basename = "%saction=query&format=xml&list=allpages" \
+                           "&aplimit=%i&apnamespace=%i" % \
+                           (self.api_address(), config.special_page_limit,
+                           namespace)
+
+        if not includeredirects:
+           api_url_basename += '&apfilterredir=nonredirects'
+        elif includeredirects == 'only':
+           api_url_basename += '&apfilterredir=redirects'
+
         while True:
-            api_url = self.api_address()
             startEncoded = urllib.quote(start.encode(self.encoding()))
-            api_url += 
'action=query&format=xml&list=allpages&apfrom=%s&aplimit=%i&apnamespace=%i' % 
(startEncoded, config.special_page_limit, namespace)
+            api_url = '%s&apfrom=%s' % (api_url_basename, startEncoded)
 
-            if not includeredirects:
-                api_url += '&apfilterredir=nonredirects'
-            elif includeredirects == 'only':
-                api_url += '&apfilterredir=redirects'
-
             if throttle:
                 get_throttle()
             text = self.getUrl(api_url)



_______________________________________________
Pywikipedia-svn mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-svn

Reply via email to