From f4c2461ba7c833c09d3e8116149456732983be69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Mon, 24 Oct 2016 15:03:54 +0200 Subject: [PATCH] [powermanga] use foolslide base class --- gallery_dl/extractor/powermanga.py | 53 ++++-------------------------- 1 file changed, 6 insertions(+), 47 deletions(-) diff --git a/gallery_dl/extractor/powermanga.py b/gallery_dl/extractor/powermanga.py index aa440091..a12c2a81 100644 --- a/gallery_dl/extractor/powermanga.py +++ b/gallery_dl/extractor/powermanga.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2015,2016 Mike Fährmann +# Copyright 2015, 2016 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 @@ -8,18 +8,12 @@ """Extract manga-chapters from http://powermanga.org/""" -from .common import Extractor, Message -from .. import text, iso639_1 -import os.path -import json -import re +from .foolslide import FoolslideChapterExtractor +from .. import text -class PowermangaChapterExtractor(Extractor): +class PowermangaChapterExtractor(FoolslideChapterExtractor): """Extractor for manga-chapters from powermanga.org""" category = "powermanga" - subcategory = "chapter" - directory_fmt = ["{category}", "{manga}", "c{chapter:>03}{chapter-minor} - {title}"] - filename_fmt = "{manga}_c{chapter:>03}{chapter-minor}_{page:>03}.{extension}" pattern = [ (r"(?:https?://)?read(?:er)?\.powermanga\.org/read/" r"(.+/([a-z]{2})/\d+/\d+)(?:/page)?"), @@ -31,46 +25,11 @@ class PowermangaChapterExtractor(Extractor): })] def __init__(self, match): - Extractor.__init__(self) if match.group(1) == "p": page = self.request("https://powermanga.org/" + match.group(2)).text pos = page.index("class='small-button smallblack'>Download") url = text.extract(page, "', '') - manga , pos = text.extract(page, 'title="', '"', pos) - chapter , pos = text.extract(page, '">', '', pos) - json_data, pos = text.extract(page, 'var pages = ', ';', pos) - match = re.match(r"(\w+ (\d+)([^:+]*)(?:: (.*))?|[^:]+)", chapter) - return { - "manga": text.unescape(manga), - "chapter": match.group(2) or match.group(1), - "chapter-minor": match.group(3) or "", - "lang": self.lang, - "language": iso639_1.code_to_language(self.lang), - "title": text.unescape(match.group(4) or ""), - }, json.loads(json_data) + url = "https://read" + extra + ".powermanga.org/read/" + match.group(1) + FoolslideChapterExtractor.__init__(self, url, match.group(2))