Added manga-py source
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
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
|
||||
Reference in New Issue
Block a user