Revision: 6469
Author:   russblau
Date:     2009-03-02 15:30:52 +0000 (Mon, 02 Mar 2009)

Log Message:
-----------
fix bug that was trying to read generator's entire contents before preloading 
any pages

Modified Paths:
--------------
    branches/rewrite/pywikibot/pagegenerators.py

Modified: branches/rewrite/pywikibot/pagegenerators.py
===================================================================
--- branches/rewrite/pywikibot/pagegenerators.py        2009-03-02 15:30:23 UTC 
(rev 6468)
+++ branches/rewrite/pywikibot/pagegenerators.py        2009-03-02 15:30:52 UTC 
(rev 6469)
@@ -655,11 +655,18 @@
     sites = {}
     # build a list of pages for each site found in the iterator
     for page in generator:
-        sites.setdefault(page.site(), []).append(page)
-    return itertools.chain(*(site.preloadpages(sites[site], pageNumber)
-                             for site in sites))
+        site = page.site()
+        sites.setdefault(site, []).append(page)
+        if len(sites[site]) >= pageNumber:
+            group = sites[site]
+            sites[site] = []
+            for i in site.preloadpages(group, pageNumber):
+                yield i
+    for site in sites:
+        if sites[site]:
+            for i in site.preloadpages(sites[site], pageNumber):
+                yield i
 
-
 #TODO below
 
 def UnusedFilesGenerator(number=100, repeat=False, site=None, extension=None):



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

Reply via email to