Update workflows/publish_pypi.yml
[manga-dl.git] / manga_py / providers / mangalib_me.py
blob1c54dde48550106bba467983f8195c8bb32ed0be
1 from manga_py.provider import Provider
2 from .helpers.std import Std
5 class MangaLibMe(Provider, Std):
7 def get_chapter_index(self) -> str:
8 return '{}_{}'.format(
9 self.chapter_for_json(),
10 self.chapter['chapter_name']
13 def get_content(self):
14 return self._get_content('{}/{}')
16 def get_manga_name(self) -> str:
17 return self._get_name(r'\.\w{2,7}/([^/]+)')
19 def get_chapters(self):
20 _json = self.re.search(r'__DATA__\s*=\s*(\{.+?\});', self.content)
22 if _json is None:
23 return []
25 return self.json.loads(_json.group(1)).get('chapters', {}).get('list', [])
27 def get_files(self):
28 content = self.http_get(self.chapter)
29 images = self.re.search(r'__pg\s*=\s*(\[.+\])', content).group(1)
30 info = self.re.search(r'__info\s*=\s*(\{.+\})', content).group(1)
31 images = self.json.loads(images)
32 info = self.json.loads(info)
33 _manga = info['img']['url']
34 _s = info['servers']
35 _server = _s.get('main', _s.get('secondary'))
37 return ['{}{}{}'.format(_server, _manga, i['u']) for i in images]
39 def get_cover(self):
40 return self._cover_from_content('.media-sidebar__cover > img')
42 def chapter_for_json(self) -> str:
43 return '{}-{}'.format(
44 self.chapter['chapter_volume'] or '',
45 self.chapter['chapter_number'],
46 ).rstrip('-')
49 main = MangaLibMe