Revision: 8560 Author: xqt Date: 2010-09-15 10:11:05 +0000 (Wed, 15 Sep 2010)
Log Message: ----------- Additional exception handling and verbose message for allpages() due to bug #3065711
Modified Paths: -------------- trunk/pywikipedia/wikipedia.py
Modified: trunk/pywikipedia/wikipedia.py =================================================================== --- trunk/pywikipedia/wikipedia.py 2010-09-15 09:02:50 UTC (rev 8559) +++ trunk/pywikipedia/wikipedia.py 2010-09-15 10:11:05 UTC (rev 8560) @@ -6448,20 +6448,24 @@ params['apfilterredir'] = 'redirects'
while True: - if throttle: get_throttle() data = query.GetData(params, self) + if verbose: + print 'DEBUG allpages>>> data.keys()', data.keys() if 'warnings' in data: warning = data['warnings']['allpages']['*'] raise str(warning) + if 'error' in data: + raise RuntimeError("API query error: %s" % data) + if not 'allpages' in data['query']: + raise RuntimeError("API query error, no pages found: %s" % data) count = 0 for p in data['query']['allpages']: count += 1 yield Page(self, p['title']) if count >= config.special_page_limit: break - if 'query-continue' in data and count < params['aplimit']: params['apfrom'] = data['query-continue']['allpages']['apfrom'] else:
pywikipedia-svn@lists.wikimedia.org