From c745a57bd77c60f15d0dfe9ea83a801ffbdd06ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Sat, 3 Jan 2026 13:19:20 +0100 Subject: [PATCH] [dankefuerslesen] extend URL pattern (#8811) - https://danke.moe/read/manga/MANGA/ - https://danke.moe/read/series/MANGA/ - https://danke.moe/reader/manga/MANGA/ - https://danke.moe/reader/series/MANGA/ --- gallery_dl/extractor/dankefuerslesen.py | 5 +++-- test/results/dankefuerslesen.py | 30 +++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/gallery_dl/extractor/dankefuerslesen.py b/gallery_dl/extractor/dankefuerslesen.py index baebb6f3..e6f840d2 100644 --- a/gallery_dl/extractor/dankefuerslesen.py +++ b/gallery_dl/extractor/dankefuerslesen.py @@ -13,6 +13,7 @@ from .. import text, util from ..cache import memcache BASE_PATTERN = r"(?:https?://)?(?:www\.)?danke\.moe" +MANGA_PATTERN = BASE_PATTERN + r"/read(?:er)?/(?:manga|series)/([\w-]+)" class DankefuerslesenBase(): @@ -28,7 +29,7 @@ class DankefuerslesenBase(): class DankefuerslesenChapterExtractor(DankefuerslesenBase, ChapterExtractor): """Extractor for Danke fürs Lesen manga chapters""" - pattern = BASE_PATTERN + r"/read/manga/([\w-]+)/([\w-]+)" + pattern = MANGA_PATTERN + r"/([\w-]+)" example = "https://danke.moe/read/manga/TITLE/123/1/" def _init(self): @@ -95,7 +96,7 @@ class DankefuerslesenMangaExtractor(DankefuerslesenBase, MangaExtractor): """Extractor for Danke fürs Lesen manga""" chapterclass = DankefuerslesenChapterExtractor reverse = False - pattern = BASE_PATTERN + r"/read/manga/([^/?#]+)" + pattern = MANGA_PATTERN example = "https://danke.moe/read/manga/TITLE/" def chapters(self, page): diff --git a/test/results/dankefuerslesen.py b/test/results/dankefuerslesen.py index 718cfc36..9eaf630e 100644 --- a/test/results/dankefuerslesen.py +++ b/test/results/dankefuerslesen.py @@ -73,6 +73,21 @@ __tests__ = ( "description": "\"twitter\"/Artist's Twitter\r\n\"pixiv\"/Artist's Pixiv", }, +{ + "#url" : "https://danke.moe/read/series/awana-chan-wa-kyou-mo-shiawase/2/1/", + "#class" : dankefuerslesen.DankefuerslesenChapterExtractor, +}, + +{ + "#url" : "https://danke.moe/reader/manga/awana-chan-wa-kyou-mo-shiawase/2/1/", + "#class" : dankefuerslesen.DankefuerslesenChapterExtractor, +}, + +{ + "#url" : "https://danke.moe/reader/series/awana-chan-wa-kyou-mo-shiawase/2/1/", + "#class" : dankefuerslesen.DankefuerslesenChapterExtractor, +}, + { "#url" : "https://danke.moe/read/manga/awana-chan-wa-kyou-mo-shiawase/", "#class" : dankefuerslesen.DankefuerslesenMangaExtractor, @@ -90,4 +105,19 @@ __tests__ = ( "language": None, }, +{ + "#url" : "https://danke.moe/read/series/awana-chan-wa-kyou-mo-shiawase", + "#class" : dankefuerslesen.DankefuerslesenMangaExtractor, +}, + +{ + "#url" : "https://danke.moe/reader/manga/awana-chan-wa-kyou-mo-shiawase", + "#class" : dankefuerslesen.DankefuerslesenMangaExtractor, +}, + +{ + "#url" : "https://danke.moe/reader/series/awana-chan-wa-kyou-mo-shiawase", + "#class" : dankefuerslesen.DankefuerslesenMangaExtractor, +}, + )