Revision: 7367
Author:   siebrand
Date:     2009-10-04 18:42:57 +0000 (Sun, 04 Oct 2009)

Log Message:
-----------
[ #2872584 ] Get correct number of contributions. Patch contributed by Nakor 
Wikipedia
When asking for user contributions, API always return "query-continue" even
if the limit number of contributions has been returned (please see
https://bugzilla.wikimedia.org/show_bug.cgi?id=20981 )

This patch solves the pb until the API is fixed.

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

Modified: trunk/pywikipedia/userlib.py
===================================================================
--- trunk/pywikipedia/userlib.py        2009-10-04 15:28:18 UTC (rev 7366)
+++ trunk/pywikipedia/userlib.py        2009-10-04 18:42:57 UTC (rev 7367)
@@ -208,13 +208,19 @@
             params['ucnamespace'] = query.ListToParam(namespace)
         # An user is likely to contribute on several pages,
         # keeping track of titles
+        nbresults=0
         while True:
+            if nbresults>=limit:
+                break
             result = query.GetData(params, self.site())
             if 'error' in result:
                 wikipedia.output('%s' % result)
                 raise wikipedia.Error
             for c in result['query']['usercontribs']:
                 yield wikipedia.Page(self.site(), c['title'], 
defaultNamespace=c['ns']), c['revid'], c['timestamp'], c['comment']
+                nbresults=nbresults+1
+                if nbresults>=limit:
+                    break
             if 'query-continue' in result:
                 params['ucstart'] = 
result['query-continue']['usercontribs']['ucstart']
             else:



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

Reply via email to