from abc import abstractmethod class Abstract: @abstractmethod def get_main_content(self): # call once pass @abstractmethod def get_manga_name(self) -> str: # call once return '' @abstractmethod def get_chapters(self) -> list: # call once return [] def prepare_cookies(self): # if site with cookie protect pass @abstractmethod def get_files(self) -> list: # call ever volume loop return [] # @abstractmethod # def get_archive_name(self) -> str: # pass # for chapters selected by manual (cli) @abstractmethod def get_chapter_index(self) -> str: pass def book_meta(self) -> dict: pass def before_download_chapter(self): pass def get_cover(self): pass def before_file_save(self, url, idx) -> str: # return url ! return url def after_file_save(self, _path: str, idx: int): pass @abstractmethod def chapter_for_json(self) -> str: pass