Files
mangaDownloader/manga-py-stable_1.x/manga_py/providers/comico_co_id_titles.py
2019-12-14 22:33:14 -05:00

72 lines
1.9 KiB
Python

from time import time
from manga_py.provider import Provider
from .helpers.std import Std
class ComicoCoIdTitles(Provider, Std):
_url = None
def get_chapter_index(self) -> str:
return str(self.chapter.get('id', '0'))
def _manga_id(self):
idx = self.re.search(r'/titles/(\d+)', self.get_url())
return idx.group(1)
def get_main_content(self):
self._url = '{}/titles/{}'.format(
self.domain,
self._manga_id(),
)
return self.http_get(self._url)
def get_manga_name(self) -> str:
h2 = self.document_fromstring(self.content, '.con > h2', 0)
return '{} - {}'.format(
h2.text_content(),
self._manga_id()
)
@staticmethod
def __parse_page(content):
items = []
for i in content.get('data', {}).get('list', []):
if i.get('salePolicy', {}).get('isFree', False):
items.append(i)
return items
def get_chapters(self):
items = []
for page in range(1, 10):
content = self.http_get('{}/chapters?page={}&_={}'.format(
self._url,
page,
int(time()),
))
try:
content = self.json.loads(content)
if content.get('header', {}).get('resultCode', -1) < 0:
break
items += self.__parse_page(content)
except Exception:
break
return items
def get_files(self):
parser = self.html_fromstring('{}/chapters/{}'.format(
self._url,
self.chapter.get('id'),
), '._view', 0)
return self._images_helper(parser, '._image')
def get_cover(self) -> str:
return self._cover_from_content('.bg_img_small img')
def book_meta(self) -> dict:
# todo meta
pass
main = ComicoCoIdTitles