From 95ec8c7414d9beb57bf93933eea678ea22e15ea0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Wed, 30 Apr 2025 09:01:33 +0200 Subject: [PATCH] [manganelo:manga] extract more metadata - date_updated - status - tags --- gallery_dl/extractor/manganelo.py | 13 +++++++++++-- test/results/mangakakalot.py | 10 ++++++++++ test/results/manganato.py | 10 ++++++++++ test/results/natomanga.py | 10 ++++++++++ test/results/nelomanga.py | 10 ++++++++++ 5 files changed, 51 insertions(+), 2 deletions(-) diff --git a/gallery_dl/extractor/manganelo.py b/gallery_dl/extractor/manganelo.py index 46f02f36..5e92aee1 100644 --- a/gallery_dl/extractor/manganelo.py +++ b/gallery_dl/extractor/manganelo.py @@ -94,8 +94,14 @@ class ManganeloMangaExtractor(ManganeloExtractor, MangaExtractor): self.manga_url = self.root + self.groups[-1] def chapters(self, page): - manga = text.unescape(text.extr(page, "

", "<")) - author = text.remove_html(text.extr(page, "
  • Author(s) :", "")) + extr = text.extract_from(page) + + manga = text.unescape(extr("

    ", "<")) + author = text.remove_html(extr("
  • Author(s) :", "")) + status = extr("
  • Status :", "<").strip() + update = text.parse_datetime(extr( + "
  • Last updated :", "<").strip(), "%b-%d-%Y %I:%M:%S %p") + tags = text.split_html(extr(">Genres :", "
  • "))[::2] results = [] for chapter in text.extract_iter(page, '
    ', '
    '): @@ -109,6 +115,9 @@ class ManganeloMangaExtractor(ManganeloExtractor, MangaExtractor): results.append((url, { "manga" : manga, "author" : author, + "status" : status, + "tags" : tags, + "date_updated": update, "chapter" : text.parse_int(chapter), "chapter_minor": (sep and ".") + minor, "title" : title.partition(": ")[2], diff --git a/test/results/mangakakalot.py b/test/results/mangakakalot.py index a2efceff..404019b3 100644 --- a/test/results/mangakakalot.py +++ b/test/results/mangakakalot.py @@ -48,10 +48,20 @@ __tests__ = ( "chapter" : range(1, 60), "chapter_minor": {"", ".1", ".2", ".5"}, "date" : "type:datetime", + "date_updated": "dt:2024-10-30 10:20:58", "lang" : "en", "language": "English", "manga" : "Aria", + "status" : "Completed", "title" : "", + "tags": [ + "Adventure", + "Comedy", + "Drama", + "Sci fi", + "Shounen", + "Slice of life", + ], }, { diff --git a/test/results/manganato.py b/test/results/manganato.py index 52a7d174..90522fcb 100644 --- a/test/results/manganato.py +++ b/test/results/manganato.py @@ -48,10 +48,20 @@ __tests__ = ( "chapter" : range(1, 60), "chapter_minor": {"", ".1", ".2", ".5"}, "date" : "type:datetime", + "date_updated": "dt:2024-10-30 10:20:58", "lang" : "en", "language": "English", "manga" : "Aria", + "status" : "Completed", "title" : "", + "tags": [ + "Adventure", + "Comedy", + "Drama", + "Sci fi", + "Shounen", + "Slice of life", + ], }, { diff --git a/test/results/natomanga.py b/test/results/natomanga.py index 461adf71..495b5c54 100644 --- a/test/results/natomanga.py +++ b/test/results/natomanga.py @@ -48,10 +48,20 @@ __tests__ = ( "chapter" : range(1, 60), "chapter_minor": {"", ".1", ".2", ".5"}, "date" : "type:datetime", + "date_updated": "dt:2024-10-30 17:20:58", "lang" : "en", "language": "English", "manga" : "Aria", + "status" : "Completed", "title" : "", + "tags": [ + "Adventure", + "Comedy", + "Drama", + "Sci fi", + "Shounen", + "Slice of life", + ], }, { diff --git a/test/results/nelomanga.py b/test/results/nelomanga.py index da794fda..6a917478 100644 --- a/test/results/nelomanga.py +++ b/test/results/nelomanga.py @@ -48,10 +48,20 @@ __tests__ = ( "chapter" : range(1, 60), "chapter_minor": {"", ".1", ".2", ".5"}, "date" : "type:datetime", + "date_updated": "dt:2024-10-30 17:20:58", "lang" : "en", "language": "English", "manga" : "Aria", + "status" : "Completed", "title" : "", + "tags": [ + "Adventure", + "Comedy", + "Drama", + "Sci fi", + "Shounen", + "Slice of life", + ], }, {