Added manga-py source
This commit is contained in:
64
manga-py-stable_1.x/manga_py/providers/allhentai_ru.py
Normal file
64
manga-py-stable_1.x/manga_py/providers/allhentai_ru.py
Normal file
@@ -0,0 +1,64 @@
|
||||
from manga_py.provider import Provider
|
||||
from .helpers.std import Std
|
||||
|
||||
|
||||
class AllHentaiRu(Provider, Std):
|
||||
|
||||
def get_archive_name(self):
|
||||
name = self.re.search('/.+/([^/]+/[^/]+)/?', self.chapter)
|
||||
return self.normal_arc_name({'vol': name.group(1).split('/', 2)})
|
||||
|
||||
def get_chapter_index(self):
|
||||
name = self.re.search('/.+/(?:vol)?([^/]+/[^/]+)/?', self.chapter)
|
||||
return name.group(1).replace('/', '-')
|
||||
|
||||
def get_main_content(self):
|
||||
return self._get_content('{}/{}?mature=1&mtr=1')
|
||||
|
||||
def get_manga_name(self) -> str:
|
||||
return self._get_name(r'\.ru/([^/]+)')
|
||||
|
||||
def get_chapters(self):
|
||||
return self._elements('.expandable .cTable tr > td > a')
|
||||
|
||||
def get_files(self):
|
||||
_uri = self.http().normalize_uri(self.chapter)
|
||||
content = self.http_get(_uri)
|
||||
result = self.re.search(r'var pictures.+?(\[\{.+\}\])', content, self.re.M)
|
||||
if not result:
|
||||
return []
|
||||
content = result.group(1).replace("'", '"')
|
||||
content = self.re.sub('(\w*):([^/])', r'"\1":\2', content)
|
||||
return [i['url'] for i in self.json.loads(content)]
|
||||
|
||||
def get_cover(self):
|
||||
return self._cover_from_content('.picture-fotorama > img')
|
||||
|
||||
def save_file(self, idx=None, callback=None, url=None, in_arc_name=None):
|
||||
_path = None
|
||||
try:
|
||||
_path = super().save_file(idx, callback, url, in_arc_name)
|
||||
except AttributeError:
|
||||
pass
|
||||
if _path is None:
|
||||
for i in ['a', 'b', 'c']:
|
||||
try:
|
||||
_path, idx, _url = self._save_file_params_helper(url, idx)
|
||||
_url = self.re.sub(r'//\w\.', '//%s.' % i, url)
|
||||
|
||||
self.http().download_file(_url, _path, idx)
|
||||
callable(callback) and callback()
|
||||
self.after_file_save(_path, idx)
|
||||
|
||||
self._archive.lazy_add(_path)
|
||||
break
|
||||
except AttributeError:
|
||||
pass
|
||||
return _path
|
||||
|
||||
def book_meta(self) -> dict:
|
||||
# todo meta
|
||||
pass
|
||||
|
||||
|
||||
main = AllHentaiRu
|
||||
Reference in New Issue
Block a user