Added manga-py source
This commit is contained in:
73
manga-py-stable_1.x/manga_py/providers/cdmnet_com_br.py
Normal file
73
manga-py-stable_1.x/manga_py/providers/cdmnet_com_br.py
Normal file
@@ -0,0 +1,73 @@
|
||||
from lxml import html
|
||||
|
||||
from manga_py.provider import Provider
|
||||
from .helpers.std import Std
|
||||
|
||||
|
||||
class CdmNetComBr(Provider, Std):
|
||||
|
||||
def get_archive_name(self) -> str:
|
||||
url = self.chapter
|
||||
idx = self.get_chapter_index()
|
||||
if ~url.find('/manga/'):
|
||||
return 'vol_{:0>3}'.format(idx)
|
||||
if ~url.find('/novel/'):
|
||||
return 'novel_{:0>3}'.format(idx)
|
||||
|
||||
def get_chapter_index(self) -> str:
|
||||
re = self.re.compile('/titulos/[^/]+/[^/]+/[^/]+/([^/]+)')
|
||||
return re.search(self.chapter).group(1)
|
||||
|
||||
def get_main_content(self):
|
||||
return self._get_content('{}/titulos/{}')
|
||||
|
||||
def get_manga_name(self) -> str:
|
||||
return self._get_name(r'/titulos/([^/]+)')
|
||||
|
||||
def get_chapters(self):
|
||||
return self._elements('.ui .content .table td > a')
|
||||
|
||||
def save_file(self, idx=None, callback=None, url=None, in_arc_name=None):
|
||||
if ~url.find('/manga/'):
|
||||
return super().save_file(idx, callback, url, in_arc_name)
|
||||
if ~url.find('/novel/'):
|
||||
_path, idx, _url = self._save_file_params_helper(url, idx)
|
||||
_path += '.html'
|
||||
element = self.html_fromstring(url, '.novel-chapter', 0)
|
||||
with open(_path, 'wb') as f:
|
||||
f.write(html.tostring(element))
|
||||
callable(callback) and callback()
|
||||
self.after_file_save(_path, idx)
|
||||
self._archive.add_file(_path, in_arc_name)
|
||||
return _path
|
||||
|
||||
def _manga(self):
|
||||
file_type = '.jpg'
|
||||
content = self.http_get(self.chapter)
|
||||
re_suffix = self.re.compile(r'urlSulfix\s*=\s*[\'"](.+)[\'"]\s*;')
|
||||
re_images = self.re.compile(r'pages\s*=\s*(\[.+\])\s*;')
|
||||
suffix = re_suffix.search(content).group(1)
|
||||
images = re_images.search(content).group(1)
|
||||
images = self.re.sub("'", '"', images)
|
||||
images = self.json.loads(self.re.sub(r'",\]', '"]', images))
|
||||
|
||||
self.log(['{}{}{}'.format(suffix, i, file_type) for i in images])
|
||||
|
||||
return ['{}{}{}'.format(suffix, i, file_type) for i in images]
|
||||
|
||||
def get_files(self):
|
||||
if ~self.chapter.find('/manga/'):
|
||||
return self._manga()
|
||||
if ~self.chapter.find('/novel/'):
|
||||
return [self.chapter]
|
||||
return []
|
||||
|
||||
def get_cover(self) -> str:
|
||||
return self._cover_from_content('.content .description img.image')
|
||||
|
||||
def book_meta(self) -> dict:
|
||||
# todo meta
|
||||
pass
|
||||
|
||||
|
||||
main = CdmNetComBr
|
||||
Reference in New Issue
Block a user