Update workflows/publish_pypi.yml
[manga-dl.git] / manga_py / providers / mangahub_ru.py
blobafcb5f9102d5306405abdc63586ec633e117f0ec
1 import html
3 from manga_py.provider import Provider
4 from .helpers.std import Std
7 class MangaHubRu(Provider, Std):
9 def get_chapter_index(self) -> str:
10 idx = self.re.search(r'/read/[^/]+/[^\d]+(\d+)/(\d+)/', self.chapter).groups()
11 return '{}-{}'.format(*idx)
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 return self._elements('.d-flex > a[href*="/read/"]')
22 def get_files(self):
23 parser = self.html_fromstring(self.chapter, 'reader')
24 if not parser:
25 return []
26 result = parser[0].get('data-reader-store')
27 result = self.json.loads(html.unescape(result))['scans']
28 n = self.normalize_uri
29 return [n(i['src']) for i in result]
31 def get_cover(self):
32 return self._cover_from_content('img.cover-detail-img')
34 def book_meta(self) -> dict:
35 # todo meta
36 pass
39 main = MangaHubRu