Skip to content

Instantly share code, notes, and snippets.

@danmichaelo
Created June 24, 2012 14:25
Show Gist options
  • Select an option

  • Save danmichaelo/2983401 to your computer and use it in GitHub Desktop.

Select an option

Save danmichaelo/2983401 to your computer and use it in GitHub Desktop.
mwclient patch to get pages by pageid
Index: listing.py
===================================================================
--- listing.py (revision 107)
+++ listing.py (working copy)
@@ -163,13 +163,13 @@
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)
Index: page.py
===================================================================
--- page.py (revision 107)
+++ page.py (working copy)
@@ -20,8 +20,12 @@
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment