simplify code by using a MangaExtractor base class

This commit is contained in:
Mike Fährmann
2017-05-20 11:27:43 +02:00
parent 2974d782a3
commit f226417420
15 changed files with 134 additions and 216 deletions

View File

@@ -81,6 +81,40 @@ class AsynchronousExtractor(Extractor):
put(None)
class MangaExtractor(Extractor):
subcategory = "manga"
scheme = "http"
root = ""
reverse = True
def __init__(self, match, url=None):
Extractor.__init__(self)
self.url = url or self.scheme + "://" + match.group(1)
def items(self):
self.login()
page = self.request(self.url).text
chapters = self.chapters(page)
if self.reverse:
chapters.reverse()
yield Message.Version, 1
for chapter in chapters:
yield Message.Queue, chapter
def login(self):
"""Login and set necessary cookies"""
def chapters(self, page):
"""Return a list of all chapter urls"""
return [self.root + path for path in self.chapter_paths(page)]
def chapter_paths(self, page):
return []
def safe_request(session, url, method="GET", *args, **kwargs):
tries = 0
while True: