From e9368bc8ea7cff89424a6c20559148effa5ee2cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Schreiner?= Date: Sat, 24 Mar 2012 15:39:04 +0100 Subject: [PATCH] fixes #619 'add possibility to edit an url' --- modules/mediawiki/browser.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/modules/mediawiki/browser.py b/modules/mediawiki/browser.py index fd734c12..75a5fb63 100644 --- a/modules/mediawiki/browser.py +++ b/modules/mediawiki/browser.py @@ -17,9 +17,10 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . -from urlparse import urlsplit +from urlparse import urlsplit, urljoin import urllib import datetime +import re from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword from weboob.tools.json import json as simplejson @@ -47,9 +48,19 @@ class MediawikiBrowser(BaseBrowser): self.apiurl = apiurl BaseBrowser.__init__(self, *args, **kwargs) + def url2page(self, page): + baseurl = self.PROTOCOL + '://' + self.DOMAIN + self.BASEPATH + m = re.match('^' + urljoin(baseurl, 'wiki/(.+)$'), page) + if m: + return m.group(1) + else: + return page + def get_wiki_source(self, page): assert isinstance(self.apiurl, basestring) + page = self.url2page(page) + data = {'action': 'query', 'prop': 'revisions|info', 'titles': page,