diff --git a/docs/supportedsites.md b/docs/supportedsites.md index 6060d1e6..62e115a2 100644 --- a/docs/supportedsites.md +++ b/docs/supportedsites.md @@ -417,7 +417,7 @@ Consider all sites to be NSFW unless otherwise known. Komikcast - https://komikcast.com/ + https://komikcast.me/ Chapters, Manga diff --git a/gallery_dl/extractor/komikcast.py b/gallery_dl/extractor/komikcast.py index 21ed3c79..1187fd6e 100644 --- a/gallery_dl/extractor/komikcast.py +++ b/gallery_dl/extractor/komikcast.py @@ -1,22 +1,24 @@ # -*- coding: utf-8 -*- -# Copyright 2018-2021 Mike Fährmann +# Copyright 2018-2022 Mike Fährmann # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. -"""Extract manga-chapters and entire manga from https://komikcast.com/""" +"""Extractors for https://komikcast.me/""" from .common import ChapterExtractor, MangaExtractor from .. import text import re +BASE_PATTERN = r"(?:https?://)?(?:www\.)?komikcast\.(?:me|com)" + class KomikcastBase(): """Base class for komikcast extractors""" category = "komikcast" - root = "https://komikcast.com" + root = "https://komikcast.me" @staticmethod def parse_chapter_string(chapter_string, data=None): @@ -44,18 +46,18 @@ class KomikcastBase(): class KomikcastChapterExtractor(KomikcastBase, ChapterExtractor): - """Extractor for manga-chapters from komikcast.com""" - pattern = r"(?:https?://)?(?:www\.)?komikcast\.com(/chapter/[^/?#]+/)" + """Extractor for manga-chapters from komikcast.me""" + pattern = BASE_PATTERN + r"(/chapter/[^/?#]+/)" test = ( - (("https://komikcast.com/chapter/" - "apotheosis-chapter-02-2-bahasa-indonesia/"), { - "url": "f6b43fbc027697749b3ea1c14931c83f878d7936", + (("https://komikcast.me/chapter" + "/apotheosis-chapter-02-2-bahasa-indonesia/"), { + "url": "74eca5c9b27b896816497f9b2d847f2a1fcfc209", "keyword": "f3938e1aff9ad1f302f52447e9781b21f6da26d4", }), - (("https://komikcast.com/chapter/" - "solo-spell-caster-chapter-37-bahasa-indonesia/"), { - "url": "c3d30de6c796ff6ff36eb86e2e6fa2f8add8e829", - "keyword": "ed8a0ff73098776988bf66fb700381a2c748f910", + (("https://komikcast.me/chapter" + "/soul-land-ii-chapter-300-1-bahasa-indonesia/"), { + "url": "243a5250e210b40d17217e83b7547cefea5638bd", + "keyword": "cb646cfed3d45105bd645ab38b2e9f7d8c436436", }), ) @@ -74,16 +76,15 @@ class KomikcastChapterExtractor(KomikcastBase, ChapterExtractor): class KomikcastMangaExtractor(KomikcastBase, MangaExtractor): - """Extractor for manga from komikcast.com""" + """Extractor for manga from komikcast.me""" chapterclass = KomikcastChapterExtractor - pattern = (r"(?:https?://)?(?:www\.)?komikcast\.com" - r"(/(?:komik/)?[^/?#]+)/?$") + pattern = BASE_PATTERN + r"(/(?:komik/)?[^/?#]+)/?$" test = ( - ("https://komikcast.com/komik/090-eko-to-issho/", { - "url": "dc798d107697d1f2309b14ca24ca9dba30c6600f", + ("https://komikcast.me/komik/090-eko-to-issho/", { + "url": "08204f0a703ec5272121abcf0632ecacba1e588f", "keyword": "837a7e96867344ff59d840771c04c20dc46c0ab1", }), - ("https://komikcast.com/tonari-no-kashiwagi-san/"), + ("https://komikcast.me/tonari-no-kashiwagi-san/"), ) def chapters(self, page):