from manga_py.provider import Provider from .helpers.std import Std class PururinIo(Provider, Std): def get_archive_name(self) -> str: return 'archive' def get_chapter_index(self) -> str: return '0' def get_main_content(self): url = self.get_url() if ~url.find('/gallery/'): re = r'/gallery/(\d+)/([^/]+)' else: re = r'/read/(\d+)/\d+/([^/]+)' return self._get_content('{}/gallery/{}/{}'.format( self.domain, *self.re.search(re, url).groups() )) def get_manga_name(self) -> str: url = self.get_url() if ~url.find('/gallery/'): re = r'/gallery/\d+/([^/]+)' else: re = r'/read/\d+/\d+/([^/]+)' return self._get_name(re) def get_chapters(self): return [b''] def _images(self, content): items = self.json.loads(content) images = [] for i in items: url = items.get(i, {}).get('image', False) url and images.append(url) return images def get_files(self): items = self._elements('.col-md-10 .well-pururin > div[class*="preview"] > a') if items: url = self.http().normalize_uri(items[0].get('href')) content = self.http_get(url) images = self.re.search(r'chapters\s*=\s*(\{.+\})\s*;', content) if images: return self._images(images.group(1)) return [] def get_cover(self) -> str: return self._cover_from_content('.cover > a > img') def book_meta(self) -> dict: # todo meta pass def chapter_for_json(self): return self.get_url() main = PururinIo