From cacafb1d5250cacead4b30ffb5708ec80592b6ec Mon Sep 17 00:00:00 2001
From: Edward Betts <edward@4angle.com>
Date: Sun, 29 Dec 2019 11:22:46 +0000
Subject: [PATCH] Add 'get history' mediawiki API call

---
 depicts/mediawiki.py | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/depicts/mediawiki.py b/depicts/mediawiki.py
index 588ea52..e0d7f9e 100644
--- a/depicts/mediawiki.py
+++ b/depicts/mediawiki.py
@@ -24,8 +24,10 @@ def api_call(params, api_url=wikidata_url):
     r = requests.get(api_url, params=call_params, timeout=5)
     return r
 
-def get_entity(qid):
-    json_data = api_call({'action': 'wbgetentities', 'ids': qid}).json()
+def get_entity(qid, redirects=False):
+    json_data = api_call({'action': 'wbgetentities',
+                          'ids': qid,
+                          'redirects': {True: 'yes', False: 'no'}[redirects]}).json()
 
     try:
         entity = list(json_data['entities'].values())[0]
@@ -162,3 +164,12 @@ def get_categories(titles, site):
             continue
         title_and_cats.append((i['title'], cats))
     return title_and_cats
+
+def get_history(title, site):
+    params = {
+        'prop': 'revisions',
+        'rvlimit': 'max',
+        'rvprop': 'timestamp|user|comment|ids|content',
+        'rvslots': 'main',
+    }
+    return mediawiki_query([title], params, site)