jenkins-bot has submitted this change and it was merged.
Change subject: Weblib: add docs, replace string concat with urlencode
......................................................................
Weblib: add docs, replace string concat with urlencode
Change-Id: I18c8b7b4c47aba68cffd3435be7fdf4056e3620d
---
M pywikibot/weblib.py
1 file changed, 39 insertions(+), 19 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/weblib.py b/pywikibot/weblib.py
index d068925..c2ad86e 100644
--- a/pywikibot/weblib.py
+++ b/pywikibot/weblib.py
@@ -11,21 +11,31 @@
#
__version__ = '$Id$'
-import pywikibot
+import urllib
from pywikibot.comms import http
def getInternetArchiveURL(url, timestamp=None):
- """Return archived URL by Internet Archive."""
- # See [[:mw:Archived Pages]] and
http://archive.org/help/wayback_api.php
+ """Return archived URL by Internet Archive.
+
+ Parameters:
+ url - url to search an archived version for
+ timestamp - requested archive date. The version closest to that moment
+ is returned. Format: YYYYMMDDhhmmss or part thereof.
+
+ See [[:mw:Archived Pages]] and
http://archive.org/help/wayback_api.php
+ for more details.
+ """
import json
- query =
u'http://archive.org/wayback/available?'
- query += u'url='
- query += url
- if not timestamp is None:
- query += u'×tamp='
- query += timestamp
- jsontext = http.request(uri=query, site=None)
+ uri =
u'http://archive.org/wayback/available?'
+
+ query = {'url': url}
+
+ if timestamp is not None:
+ query['timestamp'] = timestamp
+
+ uri = uri + urllib.urlencode(query)
+ jsontext = http.request(uri=uri, site=None)
if "closest" in jsontext:
data = json.loads(jsontext)
return data['archived_snapshots']['closest']['url']
@@ -34,17 +44,27 @@
def getWebCitationURL(url, timestamp=None):
- """Return archived URL by Web Citation."""
- # See
http://www.webcitation.org/doc/WebCiteBestPracticesGuide.pdf
+ """Return archived URL by Web Citation.
+
+ Parameters:
+ url - url to search an archived version for
+ timestamp - requested archive date. The version closest to that moment
+ is returned. Format: YYYYMMDDhhmmss or part thereof.
+
+ See
http://www.webcitation.org/doc/WebCiteBestPracticesGuide.pdf
+ for more details
+ """
import xml.etree.ElementTree as ET
- query =
u'http://www.webcitation.org/query?'
- query += u'returnxml=true'
- query += u'&url='
- query += url
+ uri =
u'http://www.webcitation.org/query?'
+
+ query = {'returnxml': 'true',
+ 'url': url}
+
if not timestamp is None:
- query += u'&date='
- query += timestamp
- xmltext = http.request(uri=query, site=None)
+ query['date'] = timestamp
+
+ uri = uri + urllib.urlencode(query)
+ xmltext = http.request(uri=uri, site=None)
if "success" in xmltext:
data = ET.fromstring(xmltext)
return data.find('.//webcite_url').text
--
To view, visit
https://gerrit.wikimedia.org/r/104804
To unsubscribe, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I18c8b7b4c47aba68cffd3435be7fdf4056e3620d
Gerrit-PatchSet: 2
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot