Added manga-py source
This commit is contained in:
52
manga-py-stable_1.x/manga_py/providers/lolibooru_moe.py
Normal file
52
manga-py-stable_1.x/manga_py/providers/lolibooru_moe.py
Normal file
@@ -0,0 +1,52 @@
|
||||
from .danbooru_donmai_us import DanbooruDonmaiUs
|
||||
from .helpers.std import Std
|
||||
|
||||
|
||||
class LoliBooruMoe(DanbooruDonmaiUs, Std):
|
||||
_archive_prefix = 'lolibooru_'
|
||||
|
||||
def get_manga_name(self) -> str:
|
||||
if ~self.get_url().find(r'tags='):
|
||||
self._is_tag = True
|
||||
self._manga_name = self._get_name(r'[\?&]tags=([^&]+)')
|
||||
else:
|
||||
self._manga_name = self._get_name(r'/post/show/(\d+)')
|
||||
return self._archive_prefix + self._manga_name
|
||||
|
||||
def get_chapters(self): # pragma: no cover
|
||||
if self._is_tag:
|
||||
pages = self._elements('#paginator .pagination > a')
|
||||
if pages:
|
||||
count = self.re.search(r'\bpage=(\d+)', pages[-2].get('href')).group(1)
|
||||
max_page = int(count)
|
||||
if max_page > 1001:
|
||||
self.log('1000 pages maximum!')
|
||||
max_page = 1000
|
||||
return range(1, max_page)[::-1]
|
||||
return [1]
|
||||
|
||||
def _tag_images(self): # pragma: no cover
|
||||
url = '{}/post?tags={}&page={}'.format(
|
||||
self.domain,
|
||||
self._manga_name,
|
||||
self.chapter,
|
||||
)
|
||||
parser = self.html_fromstring(url)
|
||||
return self._images_helper(parser, '#post-list-posts a.directlink', 'href')
|
||||
|
||||
def _post_image(self, url): # pragma: no cover
|
||||
if isinstance(url, str):
|
||||
parser = self.html_fromstring(url)
|
||||
else:
|
||||
parser = url
|
||||
|
||||
full_size = parser.cssselect('.status-notice a.highres-show')
|
||||
if full_size:
|
||||
return [full_size[0].get('href')]
|
||||
return [parser.cssselect('#image')[0].get('src')]
|
||||
|
||||
def chapter_for_json(self):
|
||||
return self.get_url()
|
||||
|
||||
|
||||
main = LoliBooruMoe
|
||||
Reference in New Issue
Block a user