+ 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)