1 from urllib
.parse
import unquote
, quote
3 from manga_py
.provider
import Provider
4 from .helpers
.std
import Std
7 class MangaRussiaCom(Provider
, Std
):
11 return quote(unquote(url
)).replace('%3A//', '://')
13 def get_chapter_index(self
) -> str:
14 chapter
= self
.chapter
15 result
= self
.re
.search(r
'\+(\d+)\+-\+(\d+)', chapter
)
16 return '-'.join(result
.groups())
18 def get_content(self
):
19 url
= '{}/manga/{}.html'.format(self
.domain
, quote(self
.manga_name
))
20 self
._storage
['referer'] = self
.path_url(self
.get_url())
21 return self
.http_get(url
)
23 def __name(self
, url
):
24 return self
.re
.search(r
'/manga/(.+)\.html', url
).group(1)
26 def get_manga_name(self
) -> str:
28 if self
.re
.search('/manga/', url
):
29 name
= self
.__name
(url
)
31 url
= self
.html_fromstring(url
, '.sitemaplist .red', 0).get('href')
32 name
= self
.__name
(url
)
35 def get_chapters(self
):
36 return self
._elements
('.chapterlist .col1 a')
38 def _get_img(self
, parser
):
39 img
= parser
.cssselect('img#comicpic')[0]
40 urls
= [img
.get('src')]
41 onload
= img
.get('onload')
42 if ~onload
and onload
.find('(\''):
43 urls
.append(self
.re
.search('\(\'(.+)\'\)', onload
).group(1))
47 parser
= self
.html_fromstring(self
.chapter
)
48 result
= parser
.cssselect('select#page option + option')
49 images
= self
._get
_img
(parser
)
50 for n
, i
in enumerate(result
):
52 parser
= self
.html_fromstring(i
.get('value'))
53 images
+= self
._get
_img
(parser
)
57 self
._cover
_from
_content
('.bookfrontpage > a > img')
59 def before_download_chapter(self
):
60 self
._storage
['referer'] = self
.path_url(self
.chapter
)
62 def book_meta(self
) -> dict: