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

54 lines
1.7 KiB
Python

from manga_py.provider import Provider
from .helpers.std import Std
class GoodMangaNet(Provider, Std):
def get_chapter_index(self) -> str:
return self.re.search(r'/chapter/(\d+)', self.chapter).group(1)
def get_main_content(self):
url = self.get_url()
if ~url.find('/chapter/'):
url = self.html_fromstring(url, '#manga_head h3 > a', 0).get('href')
_id = self.re.search(r'net/(\d+/[^/]+)', url).group(1)
return self.http_get('{}/{}'.format(self.domain, _id))
def get_manga_name(self) -> str:
url = self.get_url()
reg = r'/([^/]+)/chapter/|net/\d+/([^/]+)'
groups = self.re.search(reg, url).groups()
return groups[0] if groups[0] else groups[1]
@staticmethod
def get_chapters_links(parser):
return [i.get('href') for i in parser.cssselect('#chapters li > a')]
def get_chapters(self):
selector = '#chapters li > a'
chapters = self._elements(selector)
pagination = self._elements('.pagination li > button[href]')
for i in pagination:
chapters += self._elements(selector, self.http_get(i.get('href')))
return chapters
def get_files(self):
img_selector = '#manga_viewer > a > img'
parser = self.html_fromstring(self.chapter)
images = self._images_helper(parser, img_selector)
pages = self._first_select_options(parser, '#asset_2 select.page_select', True)
for i in pages:
_parser = self.html_fromstring(i.get('value'))
images += self._images_helper(_parser, img_selector)
return images
def get_cover(self):
pass # TODO
def book_meta(self) -> dict:
# todo meta
pass
main = GoodMangaNet