Added manga-py source
This commit is contained in:
65
manga-py-stable_1.x/manga_py/providers/mangabb_co.py
Normal file
65
manga-py-stable_1.x/manga_py/providers/mangabb_co.py
Normal file
@@ -0,0 +1,65 @@
|
||||
from manga_py.provider import Provider
|
||||
from .helpers.std import Std
|
||||
|
||||
|
||||
class MangabbCo(Provider, Std):
|
||||
|
||||
def get_chapter_index(self) -> str:
|
||||
chapter = self.chapter
|
||||
idx = chapter.rfind('/chapter-')
|
||||
return chapter[1 + idx:]
|
||||
|
||||
def get_main_content(self):
|
||||
return self._get_content('{}/manga/{}')
|
||||
|
||||
def get_manga_name(self) -> str:
|
||||
return self._get_name(r'\.co/(?:manga/)?([^/]+)')
|
||||
|
||||
def get_chapters(self):
|
||||
content = self.document_fromstring(self.content, '#chapters a')
|
||||
if not content:
|
||||
return []
|
||||
selector = '#asset_1 select.chapter_select > option'
|
||||
result = self.html_fromstring(content, selector)
|
||||
return [i.get('value') for i in result[::-1]]
|
||||
|
||||
@staticmethod
|
||||
def __get_img(parser):
|
||||
return parser.cssselect('#manga_viewer > a > img')[0].get('src')
|
||||
|
||||
@staticmethod
|
||||
def _img_lifehack1(img, pages_list, images):
|
||||
n = 1
|
||||
for i in pages_list:
|
||||
n += 1
|
||||
images.append('{}{}{}'.format(img[0], n, img[1]))
|
||||
|
||||
def _img_lifehack2(self, pages_list, images):
|
||||
for page in pages_list:
|
||||
parser = self.html_fromstring(page)
|
||||
images.append(self.__get_img(parser))
|
||||
|
||||
def get_files(self):
|
||||
parser = self.html_fromstring(self.chapter, '#body', 0)
|
||||
result = parser.cssselect('#asset_2 select.page_select option + option')
|
||||
pages_list = [i.get('value') for i in result]
|
||||
_first_image = self.__get_img(parser)
|
||||
images = [_first_image]
|
||||
|
||||
img = self.re.search(r'(.+/)\d(\.\w+)', _first_image)
|
||||
if img: # livehack
|
||||
self._img_lifehack1(img.groups(), pages_list, images)
|
||||
else:
|
||||
self._img_lifehack2(pages_list, images)
|
||||
|
||||
return images
|
||||
|
||||
def get_cover(self):
|
||||
return self._cover_from_content('#series_image')
|
||||
|
||||
def book_meta(self) -> dict:
|
||||
# todo meta
|
||||
pass
|
||||
|
||||
|
||||
main = MangabbCo
|
||||
Reference in New Issue
Block a user