diff --git a/mwclient/listing.py b/mwclient/listing.py index 02a80d67577e7d1593a55700e69cb50b81cbc15c..d6bc1e82d07e67d9ccc66c2c65f6c85d87f0a0b1 100644 --- a/mwclient/listing.py +++ b/mwclient/listing.py @@ -17,6 +17,8 @@ class List(object): if limit is None: limit = site.api_limit self.args[self.prefix + 'limit'] = str(limit) + if 'continue' not in self.args: + self.args['continue'] = '' self.count = 0 self.max_items = max_items @@ -62,8 +64,14 @@ class List(object): raise StopIteration self.set_iter(data) - if self.list_name in data.get('query-continue', ()): + if data.get('continue'): + # New style continuation, added in MediaWiki 1.21 + self.args.update(data['continue']) + + elif self.list_name in data.get('query-continue', ()): + # Old style continuation self.args.update(data['query-continue'][self.list_name]) + else: self.last = True