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