decouple extractor initialization

Introduce an 'initialize()' function that does the actual init
(session, cookies, config options) and can called separately from
the constructor __init__().

This allows, for example, to adjust config access inside a Job
before most of it already happened when calling 'extractor.find()'.
This commit is contained in:
Mike Fährmann
2023-07-25 20:09:44 +02:00
parent f0203b7559
commit a383eca7f6
71 changed files with 314 additions and 193 deletions

View File

@@ -66,13 +66,11 @@ class SenmangaChapterExtractor(ChapterExtractor):
}),
)
def __init__(self, match):
ChapterExtractor.__init__(self, match)
def _init(self):
self.session.headers["Referer"] = self.gallery_url
# select "All pages" viewer
self.cookies.set(
"viewer", "1", domain="raw.senmanga.com")
self.cookies.set("viewer", "1", domain="raw.senmanga.com")
def metadata(self, page):
title = text.extr(page, "<title>", "</title>")