Update workflows/publish_pypi.yml
[manga-dl.git] / manga_py / providers / manga_tube_me.py
blobb99c3335085c2761db7571831800260e49c1c1e2
1 from manga_py.provider import Provider
2 from .helpers.std import Std
5 class MangaTubeMe(Provider, Std):
7 def get_chapter_index(self) -> str:
8 txt = self.chapter[0].strip()
9 idx = self.re.search(r'.*?(\d+(?:\.\d+)?)', txt)
10 if not idx:
11 return str(self.chapter_id)
12 return idx.group(1).replace('.', '-')
14 def get_content(self):
15 return self._get_content('{}/series/{}/')
17 def get_manga_name(self) -> str:
18 return self._get_name('/series/([^/]+)/')
20 def get_chapters(self):
21 items = self._elements('#chapter li > a')
22 return [(i.text_content_full(), i.get('href')) for i in items]
24 def get_files(self):
25 n = self.normalize_uri
26 content = self.http_get(n(self.chapter[1]))
27 img_path = self.re.search(r'img_path[\'"]?:\s[\'"](.+)[\'"]', content)
28 img_path = n(img_path.group(1))
29 images = self.re.search(r'pages[\'"]?:\s(\[\{.+\}\])', content)
30 images = self.json.loads(images.group(1))
31 return ['{}{}'.format(img_path, i.get('file_name')) for i in images]
33 def get_cover(self):
34 return self._cover_from_content('.owl-carousel img', 'data-original')
36 def book_meta(self) -> dict:
37 # todo meta
38 pass
40 def chapter_for_json(self):
41 return self.chapter[1]
44 main = MangaTubeMe