diff --git a/docs/supportedsites.rst b/docs/supportedsites.rst index 26af91d0..5de1d580 100644 --- a/docs/supportedsites.rst +++ b/docs/supportedsites.rst @@ -48,7 +48,7 @@ HentaiFox https://hentaifox.com/ Galleries, Search Resul HentaiHand https://hentaihand.com/ Galleries, Search Results, Tag Searches HentaiHere https://hentaihere.com/ Chapters, Manga Hentainexus https://hentainexus.com/ Galleries, Search Results -Hiperdex https://hiperdex.com/ Artists, Chapters, Manga +Hiperdex https://hiperdex.info/ Artists, Chapters, Manga Hitomi.la https://hitomi.la/ Galleries, Tag Searches Hypnohub https://hypnohub.net/ Pools, Popular Images, Posts, Tag Searches Idol Complex https://idol.sankakucomplex.com/ Pools, Posts, Tag Searches Optional diff --git a/gallery_dl/extractor/hiperdex.py b/gallery_dl/extractor/hiperdex.py index 38834459..35c401c6 100644 --- a/gallery_dl/extractor/hiperdex.py +++ b/gallery_dl/extractor/hiperdex.py @@ -6,7 +6,7 @@ # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. -"""Extractors for https://hiperdex.com/""" +"""Extractors for https://hiperdex.info/""" from .common import ChapterExtractor, MangaExtractor from .. import text @@ -14,10 +14,13 @@ from ..cache import memcache import re +BASE_PATTERN = r"(?:https?://)?(?:www\.)?hiperdex\.(?:info|com|net)" + + class HiperdexBase(): """Base class for hiperdex extractors""" category = "hiperdex" - root = "https://hiperdex.com" + root = "https://hiperdex.info" @memcache(keyarg=1) def manga_data(self, manga, page=None): @@ -60,12 +63,11 @@ class HiperdexBase(): class HiperdexChapterExtractor(HiperdexBase, ChapterExtractor): - """Extractor for manga chapters from hiperdex.com""" - pattern = (r"(?:https?://)?(?:www\.)?hiperdex\.(?:com|net)" - r"(/manga/([^/?&#]+)/([^/?&#]+))") + """Extractor for manga chapters from hiperdex.info""" + pattern = BASE_PATTERN + r"(/manga/([^/?&#]+)/([^/?&#]+))" test = ( - ("https://hiperdex.com/manga/domestic-na-kanojo/154-5/", { - "pattern": r"https://hiperdex.com/wp-content/uploads" + ("https://hiperdex.info/manga/domestic-na-kanojo/154-5/", { + "pattern": r"https://hiperdex.(info|com|net)/wp-content/uploads" r"/WP-manga/data/manga_\w+/[0-9a-f]{32}/\d+\.webp", "count": 9, "keyword": { @@ -81,6 +83,7 @@ class HiperdexChapterExtractor(HiperdexBase, ChapterExtractor): "type" : "Manga", }, }), + ("https://hiperdex.com/manga/domestic-na-kanojo/154-5/"), ("https://hiperdex.net/manga/domestic-na-kanojo/154-5/"), ) @@ -100,12 +103,11 @@ class HiperdexChapterExtractor(HiperdexBase, ChapterExtractor): class HiperdexMangaExtractor(HiperdexBase, MangaExtractor): - """Extractor for manga from hiperdex.com""" + """Extractor for manga from hiperdex.info""" chapterclass = HiperdexChapterExtractor - pattern = (r"(?:https?://)?(?:www\.)?hiperdex\.(?:com|net)" - r"(/manga/([^/?&#]+))/?$") + pattern = BASE_PATTERN + r"(/manga/([^/?&#]+))/?$" test = ( - ("https://hiperdex.com/manga/youre-not-that-special/", { + ("https://hiperdex.info/manga/youre-not-that-special/", { "count": 51, "pattern": HiperdexChapterExtractor.pattern, "keyword": { @@ -122,6 +124,7 @@ class HiperdexMangaExtractor(HiperdexBase, MangaExtractor): "type" : "Manhwa", }, }), + ("https://hiperdex.com/manga/youre-not-that-special/"), ("https://hiperdex.net/manga/youre-not-that-special/"), ) @@ -149,14 +152,14 @@ class HiperdexMangaExtractor(HiperdexBase, MangaExtractor): class HiperdexArtistExtractor(HiperdexBase, MangaExtractor): - """Extractor for an artists's manga on hiperdex.com""" + """Extractor for an artists's manga on hiperdex.info""" subcategory = "artist" categorytransfer = False chapterclass = HiperdexMangaExtractor reverse = False - pattern = (r"(?:https?://)?(?:www\.)?hiperdex\.(?:com|net)" - r"(/manga-a(?:rtist|uthor)/([^/?&#]+))") + pattern = BASE_PATTERN + r"(/manga-a(?:rtist|uthor)/([^/?&#]+))" test = ( + ("https://hiperdex.info/manga-artist/beck-ho-an/"), ("https://hiperdex.com/manga-artist/beck-ho-an/"), ("https://hiperdex.net/manga-artist/beck-ho-an/"), ("https://hiperdex.com/manga-author/viagra/", {