From 96ac14ec388708284584009da790e1af8597502b Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Sat, 23 Mar 2019 23:39:36 -0400 Subject: [PATCH] Use rvslots for fetching revision content --- copyvios/checker.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/copyvios/checker.py b/copyvios/checker.py index 6bbd528..4e25eeb 100644 --- a/copyvios/checker.py +++ b/copyvios/checker.py @@ -100,13 +100,16 @@ def _get_results(query, follow=True): def _get_page_by_revid(site, revid): res = site.api_query(action="query", prop="info|revisions", revids=revid, - rvprop="content|timestamp", inprop="protection|url") + rvprop="content|timestamp", inprop="protection|url", + rvslots="main") try: page_data = res["query"]["pages"].values()[0] title = page_data["title"] - page_data["revisions"][0]["*"] # Only need to check that these exist - page_data["revisions"][0]["timestamp"] - except KeyError: + # Only need to check that these exist: + revision = page_data["revisions"][0] + revision["slots"]["main"]["*"] + revision["timestamp"] + except (KeyError, IndexError): return None page = site.get_page(title)