47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
from manga_py.provider import Provider
|
|
from .helpers.std import Std
|
|
|
|
|
|
class SenMangaCom(Provider, Std):
|
|
|
|
def get_chapter_index(self) -> str:
|
|
ch = self.chapter
|
|
re = r'\.com/[^/]+/(\d+)([^/\d][^/]*)?/'
|
|
idx = self.re.search(re, ch).groups()
|
|
fmt = '{}'
|
|
if idx[1]:
|
|
fmt += '-{}'
|
|
return fmt.format(*idx)
|
|
|
|
def get_main_content(self):
|
|
return self._get_content('{}/{}')
|
|
|
|
def get_manga_name(self) -> str:
|
|
return self._get_name(r'\.com/([^/]+)')
|
|
|
|
def get_chapters(self):
|
|
return self._elements('.list .element > .title > a')[::-1]
|
|
|
|
def get_files(self):
|
|
url = self.chapter
|
|
parser = self.html_fromstring(url)
|
|
pages = self._first_select_options(parser, 'select[name="page"]')
|
|
src = parser.cssselect('#picture')[0].get('src')
|
|
images = [src]
|
|
for i in pages:
|
|
images.append(self.re.sub(r'\d+\?token', i.get('value') + '?token', src))
|
|
return images
|
|
|
|
def prepare_cookies(self):
|
|
self._base_cookies()
|
|
|
|
def get_cover(self) -> str:
|
|
return self._cover_from_content('.thumbnail > img')
|
|
|
|
def book_meta(self) -> dict:
|
|
# todo meta
|
|
pass
|
|
|
|
|
|
main = SenMangaCom
|