import cookielib
import gzip
-import iso8601.iso8601 as iso8601
+import iso8601
import json
from StringIO import StringIO
import urllib
_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)
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)