from urllib.parse import unquote_plus from manga_py.provider import Provider from .helpers.std import Std class HitMangaEu(Provider, Std): _n = None postfix = None main_domain = 'http://www.mymanga.io' api_url = 'http://www.hitmanga.eu/listener/' def get_chapter_index(self) -> str: chapter = self.chapter idx = self.re.search('[^/]+/[^/]+/[^/]+?-([^/]+)', chapter) return idx.group(1) def get_main_content(self): return self._content(self._get_content('{}/mangas/{}/')) def get_manga_name(self) -> str: url = self.get_url() re = '{}/([^/]+)' if ~url.find('/mangas/'): re = '{}/mangas/([^/]+)' re = re.format(self.postfix) return self.re.search(re, url).group(1) def get_chapters(self): return self._elements('.listchapseries li a.follow:not(.ddl)') def _content(self, url): return self.re.sub(r'', '', self.http_get(url)) def get_files(self): chapter = self.chapter img = self.document_fromstring(self._content(chapter), '#chpimg', 0).get('src') idx = self.get_chapter_index() items = self.http_post(url=self.api_url, data={ 'number': unquote_plus(idx), 'permalink': self.manga_name, 'type': 'chap-pages', }) if items == '0': return [] items = items.split('|') return [self._n(i, img) for i in items] def get_cover(self) -> str: return self._cover_from_content('#picture img') def prepare_cookies(self): domain = self.domain.split('.') self.postfix = r'\.' + domain[-1] n = self.http().normalize_uri self._n = lambda u, r: n(u, r) def book_meta(self) -> dict: # todo meta pass main = HitMangaEu