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

51 lines
1.5 KiB
Python

from manga_py.provider import Provider
from .helpers.std import Std
class LeoMangaCom(Provider, Std):
def get_chapter_index(self) -> str:
url = self.chapter
idx = self.re.search(r'/manga/[^/]+/capitulo-(\d+)/([^/]+)/', url).groups()
return '{1}-{0}'.format(*idx)
def get_main_content(self):
return self._get_content('{}/manga/{}')
def get_manga_name(self) -> str:
return self._get_name('/manga/([^/]+)')
def _get_first_href(self, parser):
n = self.http().normalize_uri
url = n(parser[0].get('href'))
select0 = self.html_fromstring(url, '.list-group .cap-option')
if select0:
return n(select0[0].get('href'))
return None
def get_chapters(self):
chapter = self.document_fromstring(self.content, '.caps-list a')
if chapter:
url = self._get_first_href(chapter)
if url:
selector = '.viewcap-info select.form-control'
parser = self.html_fromstring(url)
options = self._first_select_options(parser, selector)
return [i.get('value') for i in options[::-1]]
return []
def get_files(self):
n = self.http().normalize_uri
items = self.html_fromstring(self.chapter, '.vertical .cap-images')
return [n(i.get('src')) for i in items]
def get_cover(self) -> str:
return self._cover_from_content('.cover img', 'data-original')
def book_meta(self) -> dict:
# todo meta
pass
main = LeoMangaCom