Update workflows/publish_pypi.yml
[manga-dl.git] / manga_py / providers / siberowl_com.py
blob16ea9b8bfae9205b3c0a00625bb388a849be8358
1 from manga_py.provider import Provider
2 from .helpers.std import Std
5 class SiberOwlCom(Provider, Std):
6 _main_fmt = '{}/mangas/{}/'
7 n = None
9 def get_chapter_index(self) -> str:
10 re = self.re.compile(r'/mangas/[^/]+/([^/]+)')
11 return re.search(self.chapter).group(1).replace('.', '-')
13 def get_content(self):
14 return self._get_content(self._main_fmt)
16 def get_manga_name(self) -> str:
17 return self._get_name(r'/mangas/([^/]+)')
19 def get_chapters(self):
20 re = self.re.compile(r'chapString\s*=\s*"(.+)";')
21 elements = self.document_fromstring(
22 re.search(self.content).group(1),
23 'a'
25 return ['{}/mangas/{}/{}'.format(
26 self.domain,
27 self.manga_name,
28 i.get('href')
29 ) for i in elements]
31 def get_files(self):
32 content = self.http_get(self.chapter)
33 re = self.re.search(r'imageUrls\s*=\s*(\[.*\])', content)
34 items = re.group(1)
35 if not items:
36 return []
37 items = self.json.loads(self.re.sub(r'(.+)",\]', r'\1"]', items))
38 return ['{}{}'.format(self.domain, i) for i in items]
40 def get_cover(self) -> str:
41 re = self.re.compile(r'imageUrl\s*=\s*"(.+)";')
42 return '{}{}'.format(
43 self.domain,
44 re.search(self.content).group(1)
47 def book_meta(self) -> dict:
48 # todo meta
49 pass
52 main = SiberOwlCom