Revision: 7372 Author: alexsh Date: 2009-10-04 19:42:47 +0000 (Sun, 04 Oct 2009)
Log Message: ----------- fix queryLimit override
Modified Paths: -------------- trunk/pywikipedia/catlib.py trunk/pywikipedia/userlib.py trunk/pywikipedia/wikipedia.py
Modified: trunk/pywikipedia/catlib.py =================================================================== --- trunk/pywikipedia/catlib.py 2009-10-04 19:31:30 UTC (rev 7371) +++ trunk/pywikipedia/catlib.py 2009-10-04 19:42:47 UTC (rev 7372) @@ -218,8 +218,10 @@
wikipedia.get_throttle() data = query.GetData(params, self.site()) + count = 0
for memb in data['query']['categorymembers']: + count += 1 # For MediaWiki versions where subcats look like articles if isCatTitle(memb['title'], self.site()): yield SUBCATEGORY, Category(self.site(), memb['title']) @@ -227,8 +229,10 @@ yield ARTICLE, wikipedia.ImagePage(self.site(), memb['title']) else: yield ARTICLE, wikipedia.Page(self.site(), memb['title']) + if count >= params['cmlimit']: + break # try to find a link to the next list page - if 'query-continue' in data: + if 'query-continue' in data and count < params['cmlimilt']: currentPageOffset = data['query-continue']['categorymembers']['cmcontinue'] else: break
Modified: trunk/pywikipedia/userlib.py =================================================================== --- trunk/pywikipedia/userlib.py 2009-10-04 19:31:30 UTC (rev 7371) +++ trunk/pywikipedia/userlib.py 2009-10-04 19:42:47 UTC (rev 7372) @@ -217,9 +217,9 @@ for c in result['query']['usercontribs']: yield wikipedia.Page(self.site(), c['title'], defaultNamespace=c['ns']), c['revid'], c['timestamp'], c['comment'] nbresults += 1 - if nbresults >= limit: + if nbresults >= params['uclimit']: break - if 'query-continue' in result: + if 'query-continue' in result and nbresults < params['uclimit']: params['ucstart'] = result['query-continue']['usercontribs']['ucstart'] else: break @@ -266,8 +266,10 @@ for info in data['query']['logevents']: count += 1 yield wikipedia.ImagePage(self.site(), info['title']), info['timestamp'], info['comment'], False + if count >= number: + break
- if 'query-continue' in data and count <= number: + if 'query-continue' in data and count < number: params['lestart'] = data['query-continue']['logevents']['lestart'] else: break
Modified: trunk/pywikipedia/wikipedia.py =================================================================== --- trunk/pywikipedia/wikipedia.py 2009-10-04 19:31:30 UTC (rev 7371) +++ trunk/pywikipedia/wikipedia.py 2009-10-04 19:42:47 UTC (rev 7372) @@ -965,7 +965,7 @@ if count >= tllimit: break
- if 'query-continue' in data: + if 'query-continue' in data and count < params['tllimlt']: params["tlcontinue"] = data["query-continue"]["templates"]["tlcontinue"] else: break @@ -6115,12 +6115,14 @@ get_throttle() data = query.GetData(params, self)
- #count = 0 + count = 0 for p in data['query']['allpages']: - #count += 1 + count += 1 yield Page(self, p['title']) + if count >= config.special_page_limit: + break
- if 'query-continue' in data: + if 'query-continue' in data and count < params['aplimit']: params['apfrom'] = data['query-continue']['allpages']['apfrom'] else: break @@ -6323,7 +6325,8 @@ yield Page(self, pages['title']) if count >= limit: break - if 'query-continue' in data: + + if 'query-continue' in data and count < params['eulimit']: params['euoffset'] = data[u'query-continue'][u'exturlusage'][u'euoffset'] else: break
pywikipedia-svn@lists.wikimedia.org