1 from manga_py
.provider
import Provider
2 from .helpers
.std
import Std
5 class MangaHubIo(Provider
, Std
):
6 _api
= 'https://api.mghubcdn.com/graphql'
7 _cdn
= 'https://img.mghubcdn.com/file/imghub/'
9 def get_chapter_index(self
) -> str:
10 chapter
= self
.chapter
11 return self
.re
.search(r
'/chapter/[^/]+/\w+-([^/]+)', chapter
).group(1)
13 def get_content(self
):
14 return self
._get
_content
('{}/manga/{}')
16 def get_manga_name(self
) -> str:
17 return self
._get
_name
('/(?:manga|chapter)/([^/]+)')
19 def get_chapters(self
):
20 return self
._elements
('.list-group .list-group-item > a')
23 query
= "{chapter(x:mh01,slug:\"%(name)s\",number:%(num)d)" \
24 "{id,title,mangaID,number,slug,date,pages,noAd,manga" \
25 "{id,title,slug,mainSlug,author,isWebtoon,isYaoi,isPorn,isSoftPorn,unauthFile,isLicensed" \
26 "}}}" % {'name': self
.manga_name
, 'num': self
.chapter_id
+ 1}
27 with self
.http_post(self
._api
, data
={
32 pages
= content
.get('data', {}).get('chapter', {}).get('pages', '{}')
33 pages
= self
.json
.loads(pages
)
37 images
.append('{}{}'.format(self
._cdn
, pages
[p
]))
40 def get_cover(self
) -> str:
41 return self
._cover
_from
_content
('.row > div > img.img-responsive')
43 def book_meta(self
) -> dict: