diff --git a/docs/supportedsites.rst b/docs/supportedsites.rst index 146eade8..8ac23331 100644 --- a/docs/supportedsites.rst +++ b/docs/supportedsites.rst @@ -61,7 +61,6 @@ imgur https://imgur.com/ |imgur-C| Inkbunny https://inkbunny.net/ Posts, User Profiles Optional Instagram https://www.instagram.com/ |instagram-C| Optional Issuu https://issuu.com/ Publications, User Profiles -Jaimini's Box https://jaiminisbox.com/reader/ Chapters, Manga Joyreactor http://joyreactor.com/ Posts, Search Results, Tag Searches, User Profiles Keenspot http://www.keenspot.com/ Comics Khinsider https://downloads.khinsider.com/ Soundtracks diff --git a/gallery_dl/extractor/foolslide.py b/gallery_dl/extractor/foolslide.py index e624a657..9fa27fe8 100644 --- a/gallery_dl/extractor/foolslide.py +++ b/gallery_dl/extractor/foolslide.py @@ -17,9 +17,7 @@ from .common import ( generate_extractors, ) from .. import text, util -import base64 import json -import re class FoolslideBase(SharedConfigMixin): @@ -83,25 +81,7 @@ class FoolslideChapterExtractor(FoolslideBase, ChapterExtractor): }) def images(self, page): - data = None - - if self.decode == "base64": - pos = page.find("'fromCharCode'") - if pos >= 0: - blob = text.extract(page, "'", "'", pos+15)[0] - base64_data = re.sub(r"[a-zA-Z]", _decode_jaiminisbox, blob) - else: - base64_data = text.extract(page, 'atob("', '"')[0] - if base64_data: - data = base64.b64decode(base64_data.encode()).decode() - elif self.decode == "double": - pos = page.find("[{") - if pos >= 0: - data = text.extract(page, " = ", ";", pos)[0] - - if not data: - data = text.extract(page, "var pages = ", ";")[0] - return json.loads(data) + return json.loads(text.extract(page, "var pages = ", ";")[0]) class FoolslideMangaExtractor(FoolslideBase, MangaExtractor): @@ -126,16 +106,6 @@ class FoolslideMangaExtractor(FoolslideBase, MangaExtractor): }))) -def _decode_jaiminisbox(match): - c = match.group(0) - - # ord("Z") == 90, ord("z") == 122 - N = 90 if c <= "Z" else 122 - C = ord(c) + 13 - - return chr(C if N >= C else (C - 26)) - - EXTRACTORS = { "dokireader": { "root": "https://kobato.hologfx.com/reader", @@ -151,19 +121,6 @@ EXTRACTORS = { "keyword": "614d89a6045b85c822cbd3e67578ea7577dfc995", }), }, - "jaiminisbox": { - "root": "https://jaiminisbox.com/reader", - "pattern": r"(?:www\.)?jaiminisbox\.com/reader", - "extra": {"decode": "base64"}, - "test-chapter": - ("https://jaiminisbox.com/reader/read/oshi-no-ko/en/0/1/", { - "keyword": "d6435cfc1522293a42517a4aadda95a8631da0b3", - }), - "test-manga": - ("https://jaiminisbox.com/reader/series/oshi-no-ko/", { - "count": ">= 10", - }), - }, "kireicake": { "root": "https://reader.kireicake.com", "test-chapter":