From 197d0e99a40aed20b778a6e84a368902bd404cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Sat, 2 Feb 2019 14:57:51 +0100 Subject: [PATCH] [tsumino] more useful error message (#161) if Tsumino suspects a non-human user and refuses to send gallery pages --- gallery_dl/extractor/tsumino.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gallery_dl/extractor/tsumino.py b/gallery_dl/extractor/tsumino.py index fb6b427a..dd2c43db 100644 --- a/gallery_dl/extractor/tsumino.py +++ b/gallery_dl/extractor/tsumino.py @@ -119,12 +119,20 @@ class TsuminoGalleryExtractor(TsuminoBase, ChapterExtractor): def get_images(self, page): url = "{}/Read/Load/?q={}".format(self.root, self.gallery_id) - data = self.request(url, headers={"Referer": self.url}).json() - base = self.root + "/Image/Object?name=" + headers = {"Referer": self.url} + response = self.request(url, headers=headers, expect=(404,)) + + if response.status_code == 404: + url = "{}/Read/View/{}".format(self.root, self.gallery_id) + self.log.error( + "Failed to get gallery JSON data. Visit '%s' in a browser " + "and solve the CAPTCHA to continue.", url) + raise exception.StopExtraction() + base = self.root + "/Image/Object?name=" return [ (base + text.quote(name), None) - for name in data["reader_page_urls"] + for name in response.json()["reader_page_urls"] ]