# see git-dpm(1) from git-dpm package
-04a25c76a33802f39e2afe4989d822c010a7e863
-04a25c76a33802f39e2afe4989d822c010a7e863
+49b148ee4c10fdf671288331217bd4dd0304b8b4
+49b148ee4c10fdf671288331217bd4dd0304b8b4
04a25c76a33802f39e2afe4989d822c010a7e863
04a25c76a33802f39e2afe4989d822c010a7e863
python-simplemediawiki_1.0.2.orig.tar.gz
--- /dev/null
+From a54cc1e6cdfacf678711f6c88021c8eca5c6580c Mon Sep 17 00:00:00 2001
+From: Ian Weller <ian@ianweller.org>
+Date: Fri, 4 Feb 2011 22:06:35 -0600
+Subject: Fix not being able to import the module
+
+---
+ simplemediawiki.py | 13 ++++++-------
+ 1 files changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/simplemediawiki.py b/simplemediawiki.py
+index ab0f3f7..6bdd944 100644
+--- a/simplemediawiki.py
++++ b/simplemediawiki.py
+@@ -39,6 +39,12 @@ from StringIO import StringIO
+ import urllib
+ import urllib2
+
++__author__ = 'Ian Weller <ian@ianweller.org>'
++__version__ = '1.0.2'
++DEFAULT_UA = ('python-simplemediawiki/%s '
++ '+https://github.com/ianweller/python-simplemediawiki') \
++ % __version__
++
+
+ class MediaWiki():
+ """
+@@ -206,10 +212,3 @@ class MediaWiki():
+ objects.
+ """
+ return iso8601.parse_date(date)
+-
+-
+-__author__ = 'Ian Weller <ian@ianweller.org>'
+-__version__ = '1.0.2'
+-DEFAULT_UA = 'python-simplemediawiki/%s ' + \
+- '+https://github.com/ianweller/python-simplemediawiki' \
+- % __version__
+--
+1.7.2.3
+
--- /dev/null
+From 9ce74c8ebc5ac8ee818ec122c89531b1d1b4c9ac Mon Sep 17 00:00:00 2001
+From: Ian Weller <ian@ianweller.org>
+Date: Fri, 4 Feb 2011 22:10:54 -0600
+Subject: Import iso8601 in a way that makes pylint happy
+
+---
+ simplemediawiki.py | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/simplemediawiki.py b/simplemediawiki.py
+index 6bdd944..ff879ed 100644
+--- a/simplemediawiki.py
++++ b/simplemediawiki.py
+@@ -33,7 +33,7 @@ of namespaces are provided for your convenience.
+
+ import cookielib
+ import gzip
+-from iso8601 import iso8601
++import iso8601.iso8601 as iso8601
+ import json
+ from StringIO import StringIO
+ import urllib
+--
+1.7.2.3
+
--- /dev/null
+From de97f3ccde6527ac63bde701ae759291d93d1aa4 Mon Sep 17 00:00:00 2001
+From: Ian Weller <ian@ianweller.org>
+Date: Fri, 4 Feb 2011 23:58:26 -0600
+Subject: Refactor normalize_api_url
+
+---
+ simplemediawiki.py | 42 +++++++++++++++++++++++-------------------
+ 1 files changed, 23 insertions(+), 19 deletions(-)
+
+diff --git a/simplemediawiki.py b/simplemediawiki.py
+index ff879ed..e123a5b 100644
+--- a/simplemediawiki.py
++++ b/simplemediawiki.py
+@@ -101,7 +101,28 @@ class MediaWiki():
+ returns that URL, while also helpfully setting this object's API URL to
+ it. If it can't magically conjure an API endpoint, it returns False.
+ """
+- data, data_json = self._normalize_api_url_tester(self._api_url)
++ def tester(self, api_url):
++ """
++ Attempts to fetch general information about the MediaWiki instance
++ in order to test whether the given URL will return JSON.
++ """
++ data = self._fetch_http(api_url, {'action': 'query',
++ 'meta': 'siteinfo',
++ 'siprop': 'general',
++ 'format': 'json'})
++ try:
++ data_json = json.loads(data)
++ # may as well set the version
++ try:
++ version_string = data_json['query']['general']['generator']
++ self._mediawiki_version = version_string.split(' ', 1)[1]
++ except KeyError:
++ pass
++ return (data, data_json)
++ except ValueError:
++ return (data, None)
++
++ data, data_json = tester(self, self._api_url)
+ if data_json:
+ return self._api_url
+ else:
+@@ -109,30 +130,13 @@ class MediaWiki():
+ if 'index.php' in self._api_url:
+ test_api_url = self._api_url.split('index.php')[0] + 'api.php'
+ print test_api_url
+- test_data, test_data_json = \
+- self._normalize_api_url_tester(test_api_url)
++ test_data, test_data_json = tester(self, test_api_url)
+ print (test_data, test_data_json)
+ if test_data_json:
+ self._api_url = test_api_url
+ return self._api_url
+ return False
+
+- def _normalize_api_url_tester(self, api_url):
+- data = self._fetch_http(api_url, {'action': 'query',
+- 'meta': 'siteinfo',
+- 'siprop': 'general',
+- 'format': 'json'})
+- try:
+- data_json = json.loads(data)
+- # may as well set the version
+- try:
+- version_string = data_json['query']['general']['generator']
+- self._mediawiki_version = version_string.split(' ', 1)[1]
+- except KeyError:
+- pass
+- return (data, data_json)
+- except ValueError:
+- return (data, None)
+
+ def login(self, user, passwd, token=None):
+ """
+--
+1.7.2.3
+
--- /dev/null
+From efa6e86fcf1586602e39253bca8a7abf5de34efe Mon Sep 17 00:00:00 2001
+From: Ian Weller <ian@ianweller.org>
+Date: Sat, 5 Feb 2011 00:00:31 -0600
+Subject: There's no good way to import iso8601, apparently
+
+---
+ simplemediawiki.py | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/simplemediawiki.py b/simplemediawiki.py
+index e123a5b..f039c5a 100644
+--- a/simplemediawiki.py
++++ b/simplemediawiki.py
+@@ -33,7 +33,7 @@ of namespaces are provided for your convenience.
+
+ import cookielib
+ import gzip
+-import iso8601.iso8601 as iso8601
++import iso8601
+ import json
+ from StringIO import StringIO
+ import urllib
+--
+1.7.2.3
+
--- /dev/null
+From bed00dea090ba51e33981e0b6784f23253d4f74a Mon Sep 17 00:00:00 2001
+From: Ian Weller <ian@ianweller.org>
+Date: Sat, 5 Feb 2011 00:00:46 -0600
+Subject: Add docstring to _fetch_http
+
+---
+ simplemediawiki.py | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/simplemediawiki.py b/simplemediawiki.py
+index f039c5a..2934ab9 100644
+--- a/simplemediawiki.py
++++ b/simplemediawiki.py
+@@ -74,6 +74,10 @@ class MediaWiki():
+ self._opener.addheaders = [('User-agent', user_agent)]
+
+ def _fetch_http(self, url, params):
++ """
++ Standard HTTP request handler for this class with gzip and cookie
++ support.
++ """
+ request = urllib2.Request(url, urllib.urlencode(params))
+ request.add_header('Accept-encoding', 'gzip')
+ response = self._opener.open(request)
+--
+1.7.2.3
+
--- /dev/null
+From 49b148ee4c10fdf671288331217bd4dd0304b8b4 Mon Sep 17 00:00:00 2001
+From: Ian Weller <ian@ianweller.org>
+Date: Sat, 5 Feb 2011 00:31:07 -0600
+Subject: Forget about version checking for right now
+
+---
+ simplemediawiki.py | 11 +----------
+ 1 files changed, 1 insertions(+), 10 deletions(-)
+
+diff --git a/simplemediawiki.py b/simplemediawiki.py
+index 2934ab9..ec12a11 100644
+--- a/simplemediawiki.py
++++ b/simplemediawiki.py
+@@ -55,7 +55,6 @@ class MediaWiki():
+ _high_limits = None
+ _namespaces = None
+ _psuedo_namespaces = None
+- _mediawiki_version = None
+
+ def __init__(self, api_url, cookie_file=None, user_agent=DEFAULT_UA):
+ self._api_url = api_url
+@@ -111,17 +110,9 @@ class MediaWiki():
+ in order to test whether the given URL will return JSON.
+ """
+ data = self._fetch_http(api_url, {'action': 'query',
+- 'meta': 'siteinfo',
+- 'siprop': 'general',
+- 'format': 'json'})
++ 'meta': 'siteinfo'})
+ try:
+ data_json = json.loads(data)
+- # may as well set the version
+- try:
+- version_string = data_json['query']['general']['generator']
+- self._mediawiki_version = version_string.split(' ', 1)[1]
+- except KeyError:
+- pass
+ return (data, data_json)
+ except ValueError:
+ return (data, None)
+--
+1.7.2.3
+
--- /dev/null
+0001-Fix-not-being-able-to-import-the-module.patch
+0002-Import-iso8601-in-a-way-that-makes-pylint-happy.patch
+0003-Refactor-normalize_api_url.patch
+0004-There-s-no-good-way-to-import-iso8601-apparently.patch
+0005-Add-docstring-to-_fetch_http.patch
+0006-Forget-about-version-checking-for-right-now.patch
import cookielib
import gzip
-from iso8601 import iso8601
+import iso8601
import json
from StringIO import StringIO
import urllib
import urllib2
+__author__ = 'Ian Weller <ian@ianweller.org>'
+__version__ = '1.0.2'
+DEFAULT_UA = ('python-simplemediawiki/%s '
+ '+https://github.com/ianweller/python-simplemediawiki') \
+ % __version__
+
class MediaWiki():
"""
_high_limits = None
_namespaces = None
_psuedo_namespaces = None
- _mediawiki_version = None
def __init__(self, api_url, cookie_file=None, user_agent=DEFAULT_UA):
self._api_url = api_url
self._opener.addheaders = [('User-agent', user_agent)]
def _fetch_http(self, url, params):
+ """
+ Standard HTTP request handler for this class with gzip and cookie
+ support.
+ """
request = urllib2.Request(url, urllib.urlencode(params))
request.add_header('Accept-encoding', 'gzip')
response = self._opener.open(request)
returns that URL, while also helpfully setting this object's API URL to
it. If it can't magically conjure an API endpoint, it returns False.
"""
- data, data_json = self._normalize_api_url_tester(self._api_url)
+ def tester(self, api_url):
+ """
+ Attempts to fetch general information about the MediaWiki instance
+ in order to test whether the given URL will return JSON.
+ """
+ data = self._fetch_http(api_url, {'action': 'query',
+ 'meta': 'siteinfo'})
+ try:
+ data_json = json.loads(data)
+ return (data, data_json)
+ except ValueError:
+ return (data, None)
+
+ data, data_json = tester(self, self._api_url)
if data_json:
return self._api_url
else:
if 'index.php' in self._api_url:
test_api_url = self._api_url.split('index.php')[0] + 'api.php'
print test_api_url
- test_data, test_data_json = \
- self._normalize_api_url_tester(test_api_url)
+ test_data, test_data_json = tester(self, test_api_url)
print (test_data, test_data_json)
if test_data_json:
self._api_url = test_api_url
return self._api_url
return False
- def _normalize_api_url_tester(self, api_url):
- data = self._fetch_http(api_url, {'action': 'query',
- 'meta': 'siteinfo',
- 'siprop': 'general',
- 'format': 'json'})
- try:
- data_json = json.loads(data)
- # may as well set the version
- try:
- version_string = data_json['query']['general']['generator']
- self._mediawiki_version = version_string.split(' ', 1)[1]
- except KeyError:
- pass
- return (data, data_json)
- except ValueError:
- return (data, None)
def login(self, user, passwd, token=None):
"""
objects.
"""
return iso8601.parse_date(date)
-
-
-__author__ = 'Ian Weller <ian@ianweller.org>'
-__version__ = '1.0.2'
-DEFAULT_UA = 'python-simplemediawiki/%s ' + \
- '+https://github.com/ianweller/python-simplemediawiki' \
- % __version__