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

53 lines
1.8 KiB
Python

from manga_py.provider import Provider
from .helpers.std import Std
class MangaLifeUs(Provider, Std):
img_selector = '.image-container .CurImage'
def get_chapter_index(self) -> str:
selector = r'-chapter-(\d+).+-index-(\d+)'
chapter = self.re.search(selector, self.chapter)
if chapter is None: # http://mangalife.us/manga/Ubau-Mono-Ubawareru-Mono #51
selector = r'-chapter-(\d+(?:\.\d+)?)'
chapter = self.re.search(selector, self.chapter).group(1).split('.')
return '-'.join(chapter)
return '{}-{}'.format(
1 if chapter[1] is None else chapter[1], # todo: maybe 0 ?
chapter[0]
)
def get_main_content(self):
return self._get_content('{}/manga/{}')
def get_manga_name(self) -> str:
uri = self.get_url()
test = uri.find('.us/read-online/') > 0
if test:
uri = self.html_fromstring(uri, 'a.list-link', 0).get('href')
return self.re.search(r'(?:\.us)?/manga/([^/]+)', uri).group(1)
def get_chapters(self):
return self._elements('.chapter-list a.list-group-item')
def get_files(self):
url = self.chapter
parser = self.html_fromstring(url, '.mainWrapper', 0)
pages = parser.cssselect('select.PageSelect')[0].cssselect('option + option')
images = self._images_helper(parser, self.img_selector)
for page in pages:
page_url = self.re.sub(r'(.+page-)\d+(.+)', r'\1{}\2', url)
parser = self.html_fromstring(page_url.format(page.get('value')))
images += self._images_helper(parser, self.img_selector)
return images
def get_cover(self) -> str:
return self._cover_from_content('.leftImage img')
def book_meta(self) -> dict:
# todo meta
pass
main = MangaLifeUs