Files
2019-12-14 22:33:14 -05:00

68 lines
1.9 KiB
Python

from manga_py.provider import Provider
from .helpers import eight_muses_com
from .helpers.std import Std
class EightMusesCom(Provider, Std):
_chapters = None
chapter_selector = '.gallery a.c-tile[href^="/comics/"]'
helper = None
_images_path = 'image/fl'
def get_chapter_index(self) -> str:
re = self.re.compile(r'/(?:album|picture)/([^/]+/[^/]+(?:/[^/]+)?)')
ch = self.chapter
if isinstance(ch, list) and len(ch) > 0:
ch = ch[0]
if isinstance(ch, dict):
ch = ch.get('href')
idx = re.search(ch).group(1)
return '-'.join(idx.split('/'))
def get_main_content(self):
return self.http_get(self.get_url())
def get_manga_name(self) -> str:
return self._get_name('/album/([^/]+)')
def get_chapters(self):
chapters = self._elements(self.chapter_selector)
return self.helper.chapters(chapters)
def _parse_images(self, images) -> list:
return ['{}/{}/{}'.format(
self.domain,
self._images_path,
i.get('value')
) for i in images if i.get('value')]
@staticmethod
def _sort(items: dict) -> list:
items = [items[i] for i in sorted(items, key=lambda x: int(x)) if len(items[i]) > 5]
return list(set(items))
def get_files(self):
images = {}
_n = self.http().normalize_uri
for n, i in enumerate(self.chapter):
if n % 4 < 2:
img = self.html_fromstring(_n(i.get('href')), '#imageName,#imageNextName')
images[str(n)] = img[0]
images[str(n + 2)] = img[1]
return self._parse_images(self._sort(images))
def get_cover(self) -> str:
pass
def prepare_cookies(self):
self._chapters = []
self._base_cookies()
self.helper = eight_muses_com.EightMusesCom(self)
def book_meta(self) -> dict:
# todo meta
pass
main = EightMusesCom