From 40cbbb462738393ed90c36055040e361d2d8eb6c Mon Sep 17 00:00:00 2001 From: Bryan Tong Minh <bryan.tongminh@gmail.com> Date: Mon, 25 Feb 2008 15:31:10 +0000 Subject: [PATCH] Add protect compatibility for 1.13; change the compatibility format slightly --- mwclient/compatibility.py | 11 ++++++++--- mwclient/page.py | 8 ++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/mwclient/compatibility.py b/mwclient/compatibility.py index ded741a..80a0105 100644 --- a/mwclient/compatibility.py +++ b/mwclient/compatibility.py @@ -18,8 +18,8 @@ def userinfo(data, new_format = None): else: return data['userinfo'] -def iiprop(post_112): - if post_112: +def iiprop(version): + if version[:2] >= (1, 12): return 'timestamp|user|comment|url|size|sha1|metadata' else: return 'timestamp|user|comment|url|size|sha1' @@ -29,4 +29,9 @@ def cmtitle(page, new_format, prefix = ''): return prefix + 'title', page.name else: return prefix + 'category', page.strip_namespace(page.name) - \ No newline at end of file + +def protectright(version): + if version[:2] >= (1, 13): + return 'editprotected' + else: + return 'protect' \ No newline at end of file diff --git a/mwclient/page.py b/mwclient/page.py index e41b1b8..605ba10 100644 --- a/mwclient/page.py +++ b/mwclient/page.py @@ -64,7 +64,7 @@ class Page(object): def can(self, action): level = self.protection.get(action, (action, ))[0] - if level == 'sysop': level = 'protect' + if level == 'sysop': level = compatibility.protectright(site.version) return level in self.site.rights @@ -247,14 +247,14 @@ class Image(Page): def __init__(self, site, name, info = None): site.require(1, 11) Page.__init__(self, site, name, info, - extra_properties = {'imageinfo': (('iiprop', compatibility.iiprop( - site.require(1, 12, raise_error = False))), )}) + extra_properties = {'imageinfo': (('iiprop', + compatibility.iiprop(site.version)), )}) self.imagerepository = self._info.get('imagerepository', '') self.imageinfo = self._info.get('imageinfo', ((), ))[0] def imagehistory(self): return listing.PageProperty(self, 'imageinfo', 'ii', - iiprop = compatibility.iiprop(self.site.require(1, 12, raise_error = False))) + iiprop = compatibility.iiprop(site.version)) def imageusage(self, namespace = None, filterredir = 'all', redirect = False, limit = None, generator = True): self.site.require(1, 11) -- GitLab