From a1c8b21cfd10a9a5bfc41bdc171495e8a08ef299 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Wed, 4 Oct 2017 18:33:32 +0200 Subject: [PATCH] [senmanga] improve metadata --- gallery_dl/extractor/senmanga.py | 34 ++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/gallery_dl/extractor/senmanga.py b/gallery_dl/extractor/senmanga.py index a82f735e..5196680b 100644 --- a/gallery_dl/extractor/senmanga.py +++ b/gallery_dl/extractor/senmanga.py @@ -9,21 +9,27 @@ """Extract manga-chapters from from http://raw.senmanga.com/""" from .common import Extractor, Message -from .. import text +from .. import text, util class SenmangaChapterExtractor(Extractor): """Extractor for manga-chapters from raw.senmanga.com""" category = "senmanga" subcategory = "chapter" - directory_fmt = ["{category}", "{manga}", "c{chapter:>03}"] - filename_fmt = "{manga}_c{chapter:>03}_{page:>03}.{extension}" + directory_fmt = ["{category}", "{manga}", "{chapter_string}"] + filename_fmt = "{manga}_{chapter_string}_{page:>03}.{extension}" pattern = [r"(?:https?://)?raw\.senmanga\.com/([^/]+/[^/]+)"] - test = [("http://raw.senmanga.com/Bokura-wa-Minna-Kawaisou/37A/1", { - "url": "32d88382fcad66859d089cd9a61249f375492ec5", - "keyword": "bd25a8d00c8507faa5cdd6146a872797486fbf93", - "content": "a791dda85ac0d37e3b36d754560cbb65b8dab5b9", - })] + test = [ + ("http://raw.senmanga.com/Bokura-wa-Minna-Kawaisou/37A/1", { + "url": "32d88382fcad66859d089cd9a61249f375492ec5", + "keyword": "705d941a150765edb33cd2707074bd703a93788c", + "content": "a791dda85ac0d37e3b36d754560cbb65b8dab5b9", + }), + ("http://raw.senmanga.com/Love-Lab/2016-03/1", { + "url": "d4f37c7347e56a09f9679d63c1f24cd32621d0b8", + "keyword": "4e72e4ade57671ad0af9c8d81feeff4259d5bbec", + }), + ] url_base = "http://raw.senmanga.com" def __init__(self, match): @@ -38,11 +44,9 @@ class SenmangaChapterExtractor(Extractor): data = self.get_job_metadata() yield Message.Version, 1 yield Message.Directory, data - for i in range(int(data["count"])): - page = str(i+1) - data["page"] = page - data["extension"] = "" - yield Message.Url, self.img_url + page, data + for data["page"] in range(1, data["count"]+1): + data["extension"] = None + yield Message.Url, self.img_url + str(data["page"]), data def get_job_metadata(self): """Collect metadata for extractor-job""" @@ -53,8 +57,8 @@ class SenmangaChapterExtractor(Extractor): chapter, pos = text.extract(title, '', ' | Page ', pos) return { "manga": text.unescape(manga.replace("-", " ")), - "chapter": chapter, - "count": count, + "chapter_string": chapter, + "count": util.safe_int(count), "lang": "jp", "language": "Japanese", }