diff --git a/gallery_dl/extractor/__init__.py b/gallery_dl/extractor/__init__.py index 7a69d976..53d4c2f6 100644 --- a/gallery_dl/extractor/__init__.py +++ b/gallery_dl/extractor/__init__.py @@ -31,6 +31,7 @@ modules = [ "imgur", "kissmanga", "konachan", + "mangamint", "mangapanda", "mangareader", "mangashare", diff --git a/gallery_dl/extractor/mangamint.py b/gallery_dl/extractor/mangamint.py new file mode 100644 index 00000000..44d0368c --- /dev/null +++ b/gallery_dl/extractor/mangamint.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- + +# Copyright 2015 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 pages from https://www.mangamint.com/""" + +from .common import Extractor, Message +from .. import text + +class MangaMintExtractor(Extractor): + + category = "mangamint" + directory_fmt = ["{category}", "{manga}", "c{chapter:>03}"] + filename_fmt = "{manga}_c{chapter:>03}_{page:>03}.{extension}" + pattern = [r"(?:https?://)?(?:www\.)?mangamint\.com/([^\?]+-(\d+))"] + + def __init__(self, match): + Extractor.__init__(self) + self.url = match.group(0) + self.chapter = match.group(2) + + def items(self): + page = self.request(self.url).text + data = self.get_job_metadata(page) + imgs = self.get_image_urls(page) + data["count"] = len(imgs) + yield Message.Version, 1 + yield Message.Directory, data + for num, url in enumerate(imgs, 1): + data["page"] = num + yield Message.Url, url, text.nameext_from_url(url, data) + + def get_job_metadata(self, page): + """Collect metadata for extractor-job""" + data = { + "category": self.category, + "chapter": self.chapter, + # "title": "", + "lang": "en", + "language": "English", + } + return text.extract_all(page, ( + (None, '