65 lines
1.7 KiB
Python
65 lines
1.7 KiB
Python
from manga_py.provider import Provider
|
|
from .helpers.std import Std
|
|
|
|
|
|
class PururinIo(Provider, Std):
|
|
|
|
def get_archive_name(self) -> str:
|
|
return 'archive'
|
|
|
|
def get_chapter_index(self) -> str:
|
|
return '0'
|
|
|
|
def get_main_content(self):
|
|
url = self.get_url()
|
|
if ~url.find('/gallery/'):
|
|
re = r'/gallery/(\d+)/([^/]+)'
|
|
else:
|
|
re = r'/read/(\d+)/\d+/([^/]+)'
|
|
return self._get_content('{}/gallery/{}/{}'.format(
|
|
self.domain,
|
|
*self.re.search(re, url).groups()
|
|
))
|
|
|
|
def get_manga_name(self) -> str:
|
|
url = self.get_url()
|
|
if ~url.find('/gallery/'):
|
|
re = r'/gallery/\d+/([^/]+)'
|
|
else:
|
|
re = r'/read/\d+/\d+/([^/]+)'
|
|
return self._get_name(re)
|
|
|
|
def get_chapters(self):
|
|
return [b'']
|
|
|
|
def _images(self, content):
|
|
items = self.json.loads(content)
|
|
images = []
|
|
for i in items:
|
|
url = items.get(i, {}).get('image', False)
|
|
url and images.append(url)
|
|
return images
|
|
|
|
def get_files(self):
|
|
items = self._elements('.col-md-10 .well-pururin > div[class*="preview"] > a')
|
|
if items:
|
|
url = self.http().normalize_uri(items[0].get('href'))
|
|
content = self.http_get(url)
|
|
images = self.re.search(r'chapters\s*=\s*(\{.+\})\s*;', content)
|
|
if images:
|
|
return self._images(images.group(1))
|
|
return []
|
|
|
|
def get_cover(self) -> str:
|
|
return self._cover_from_content('.cover > a > img')
|
|
|
|
def book_meta(self) -> dict:
|
|
# todo meta
|
|
pass
|
|
|
|
def chapter_for_json(self):
|
|
return self.get_url()
|
|
|
|
|
|
main = PururinIo
|