Rename Std.text_content method to Std.text_content_full
[manga-dl.git] / manga_py / providers / comico_jp.py
blobef9c122a1515c0444ac572ceac6c5414692e8035
1 from sys import stderr
3 from manga_py.provider import Provider
4 from .helpers.std import Std
7 class ComicoJp(Provider, Std):
9 def get_chapter_index(self) -> str:
10 idx = self.re.search(r'articleNo=(\d+)', self.chapter)
11 if idx:
12 return '{}-{}'.format(self.chapter_id, idx.group(1))
13 return str(self.chapter_id)
15 def get_content(self):
16 title_no = self.re.search(r'\.\w{2,7}/.+titleNo=(\d+)', self.get_url())
17 if title_no:
18 try:
19 with self.http_post('{}/api/getArticleList.nhn'.format(self.domain), data={
20 'titleNo': title_no.group(1)
21 }) as req:
22 images = req.json().get('result', {}).get('list', [])
24 return images
25 except TypeError:
26 pass
27 return []
29 def get_manga_name(self):
30 content = self.http_get(self.get_url())
31 name = self.text_content_full(content, 'title')
32 return name[:name.rfind('|')].strip(' \n\t\r')
34 def get_chapters(self):
35 # TODO: see i['freeFlg'] Y = true, W = false #19
36 items = [i['articleDetailUrl'] for i in self.content if i['freeFlg'] == 'Y']
37 self.log('Free chapters count: %d' % len(items), file=stderr)
38 return items[::-1]
40 def get_files(self):
41 items = self.html_fromstring(self.chapter, '.comic-image._comicImage > img.comic-image__image')
42 return [i.get('src') for i in items]
44 def get_cover(self):
45 pass
47 def book_meta(self) -> dict:
48 # todo meta
49 pass
52 main = ComicoJp