diff --git a/mwclient/client.py b/mwclient/client.py index 9349d70d5620d5636c6dd0a9064cf2c579327607..7d39ac42f04c18d5c81c6ee0465f54771841b4cc 100644 --- a/mwclient/client.py +++ b/mwclient/client.py @@ -908,9 +908,19 @@ class Site(object): Ask a query against Semantic MediaWiki. API doc: https://semantic-mediawiki.org/wiki/Ask_API + + Returns: + Generator for retrieving all search results """ kwargs = {} if title is None: kwargs['title'] = title - result = self.raw_api('ask', query=query, **kwargs) - return result['query']['results'] + + offset = 0 + while offset is not None: + results = self.raw_api('ask', query='{query}|offset={offset}'.format( + query=query, offset=offset), **kwargs) + + offset = results.get('query-continue-offset') + for result in results['query']['results']: + yield result