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

56 lines
1.7 KiB
Python

from manga_py.provider import Provider
from .helpers.std import Std
class MangaSaurusCom(Provider, Std):
def get_chapter_index(self) -> str:
return str(self.chapter_id)
def get_main_content(self):
return self.http_get('{}/manga/{}/{}'.format(
self.domain,
*self.manga_name.split('_')
))
def get_manga_name(self) -> str:
url = self.get_url()
if ~url.find('/view/'):
url = self.html_fromstring(url, '#m_reader_bottom + div > a', 0).get('href')
result = self.re.search(r'/manga/(\d+)/([^/]+)', url).groups()
return '{1}_{0}'.format(*result)
def get_chapters(self):
return self._elements('.table--chapters td > a')[::-1]
def __files_helper(self):
content = self.http_get(self.chapter)
_path = self.document_fromstring(content, '#imageZone-next > img', 0).get('src')
path = self.re.search('(http.+?/original)/', _path).group(1) + '/{}/{}-{}{}'
parser = self.re.search(r'ImageReader\.setImages.+?(\{.+\})', content)
return path, parser
def get_files(self):
path, parser = self.__files_helper()
if not parser:
return []
images = []
o = self.json.loads(parser.group(1))
for i in o:
n = o.get(i)
_ = n.get('original', {}).get('file', '')
idx = _.find('.')
src = path.format(_[:idx], self.manga_name, n['id'], _[idx:])
images.append(src)
return images
def get_cover(self):
self._cover_from_content('.gallery-info__cover img')
def book_meta(self) -> dict:
# todo meta
pass
main = MangaSaurusCom