Added manga-py source
This commit is contained in:
67
manga-py-stable_1.x/manga_py/providers/mangarussia_com.py
Normal file
67
manga-py-stable_1.x/manga_py/providers/mangarussia_com.py
Normal file
@@ -0,0 +1,67 @@
|
||||
from urllib.parse import unquote, quote
|
||||
|
||||
from manga_py.provider import Provider
|
||||
from .helpers.std import Std
|
||||
|
||||
|
||||
class MangaRussiaCom(Provider, Std):
|
||||
|
||||
@staticmethod
|
||||
def path_url(url):
|
||||
return quote(unquote(url)).replace('%3A//', '://')
|
||||
|
||||
def get_chapter_index(self) -> str:
|
||||
chapter = self.chapter
|
||||
result = self.re.search(r'\+(\d+)\+-\+(\d+)', chapter)
|
||||
return '-'.join(result.groups())
|
||||
|
||||
def get_main_content(self):
|
||||
url = '{}/manga/{}.html'.format(self.domain, quote(self.manga_name))
|
||||
self._storage['referer'] = self.path_url(self.get_url())
|
||||
return self.http_get(url)
|
||||
|
||||
def __name(self, url):
|
||||
return self.re.search(r'/manga/(.+)\.html', url).group(1)
|
||||
|
||||
def get_manga_name(self) -> str:
|
||||
url = self.get_url()
|
||||
if self.re.search('/manga/', url):
|
||||
name = self.__name(url)
|
||||
else:
|
||||
url = self.html_fromstring(url, '.sitemaplist .red', 0).get('href')
|
||||
name = self.__name(url)
|
||||
return unquote(name)
|
||||
|
||||
def get_chapters(self):
|
||||
return self._elements('.chapterlist .col1 a')
|
||||
|
||||
def _get_img(self, parser):
|
||||
img = parser.cssselect('img#comicpic')[0]
|
||||
urls = [img.get('src')]
|
||||
onload = img.get('onload')
|
||||
if ~onload and onload.find('(\''):
|
||||
urls.append(self.re.search('\(\'(.+)\'\)', onload).group(1))
|
||||
return urls
|
||||
|
||||
def get_files(self):
|
||||
parser = self.html_fromstring(self.chapter)
|
||||
result = parser.cssselect('select#page option + option')
|
||||
images = self._get_img(parser)
|
||||
for n, i in enumerate(result):
|
||||
if n and n % 2:
|
||||
parser = self.html_fromstring(i.get('value'))
|
||||
images += self._get_img(parser)
|
||||
return images
|
||||
|
||||
def get_cover(self):
|
||||
self._cover_from_content('.bookfrontpage > a > img')
|
||||
|
||||
def before_download_chapter(self):
|
||||
self._storage['referer'] = self.path_url(self.chapter)
|
||||
|
||||
def book_meta(self) -> dict:
|
||||
# todo meta
|
||||
pass
|
||||
|
||||
|
||||
main = MangaRussiaCom
|
||||
Reference in New Issue
Block a user