diff --git a/listing.py b/listing.py index 363f8d74d5e09451ec6bac566395006183b995c1..98dc32e1456d2978aad25741770f12d405d8652a 100644 --- a/listing.py +++ b/listing.py @@ -163,13 +163,13 @@ class PageList(GeneratorList): return page.Page(self.site, self.site.namespaces[self.namespace] + ':' + name, info) else: # Guessing page class - namespace = self.guess_namespace(name) - if namespace == 14: - return Category(self.site, name, info) - elif namespace == 6: - return page.Image(self.site, name, info) - else: - return page.Page(self.site, name, info) + if type(name) is not int: + namespace = self.guess_namespace(name) + if namespace == 14: + return Category(self.site, name, info) + elif namespace == 6: + return page.Image(self.site, name, info) + return page.Page(self.site, name, info) def guess_namespace(self, name): normal_name = page.Page.normalize_title(name) diff --git a/page.py b/page.py index 5e0c2acb1be21755f534749f25f4defc11588d43..9031fcd1f7f49008c018f7432b9477aeb62b70d0 100644 --- a/page.py +++ b/page.py @@ -21,8 +21,12 @@ class Page(object): prop = 'info' extra_props = () - info = self.site.api('query', prop = prop, titles = name, - inprop = 'protection', *extra_props) + if type(name) is int: + info = self.site.api('query', prop = prop, pageids = name, + inprop = 'protection', *extra_props) + else: + info = self.site.api('query', prop = prop, titles = name, + inprop = 'protection', *extra_props) info = info['query']['pages'].itervalues().next() self._info = info