diff --git a/wikitools/category.py b/wikitools/category.py index f46a987..b67c8f4 100644 --- a/wikitools/category.py +++ b/wikitools/category.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- # Copyright 2008-2013 Alex Zaddach (mrzmanwiki@gmail.com) # This file is part of wikitools. @@ -61,7 +61,7 @@ def getAllMembers(self, titleonly=False, reload=False, namespaces=False): for member in self.__getMembersInternal(namespaces): members.append(member) if titleonly: - ret.append(member.title) + ret.append(member['title']) if titleonly: return ret if namespaces is False: @@ -91,7 +91,7 @@ def getAllMembersGen(self, titleonly=False, reload=False, namespaces=False): if namespaces is False: self.members.append(member) if titleonly: - yield member.title + yield member['title'] else: yield member @@ -106,10 +106,7 @@ def __getMembersInternal(self, namespaces=False): params['cmnamespace'] = '|'.join([str(ns) for ns in namespaces]) while True: req = api.APIRequest(self.site, params) - data = req.query(False) - for item in data['query']['categorymembers']: - yield page.Page(self.site, item['title'], check=False, followRedir=False) - try: - params['cmcontinue'] = data['query-continue']['categorymembers']['cmcontinue'] - except: - break + self.categories = [] + for data in req.queryGen(): + self.categories.extend(data['query']['categorymembers']) + return self.categories