Yimmh: fix images not loading and StatusFilter (#9960)
This commit is contained in:
parent
15f7d1e616
commit
b7739ce487
|
@ -5,7 +5,7 @@ ext {
|
||||||
extName = 'Yimmh'
|
extName = 'Yimmh'
|
||||||
pkgNameSuffix = 'zh.yimmh'
|
pkgNameSuffix = 'zh.yimmh'
|
||||||
extClass = '.Yimmh'
|
extClass = '.Yimmh'
|
||||||
extVersionCode = 1
|
extVersionCode = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
apply from: "$rootDir/common.gradle"
|
apply from: "$rootDir/common.gradle"
|
||||||
|
|
|
@ -25,6 +25,14 @@ class Yimmh : ParsedHttpSource() {
|
||||||
override fun headersBuilder() = Headers.Builder()
|
override fun headersBuilder() = Headers.Builder()
|
||||||
.add("User-Agent", "Mozilla/5.0 (Android 11; Mobile; rv:83.0) Gecko/83.0 Firefox/83.0")
|
.add("User-Agent", "Mozilla/5.0 (Android 11; Mobile; rv:83.0) Gecko/83.0 Firefox/83.0")
|
||||||
|
|
||||||
|
private fun toHttp(url: String): String {
|
||||||
|
// Images from https://*.yemancomic.com do not load
|
||||||
|
// because of certificate issue, so switch to http.
|
||||||
|
return if (url.startsWith("https")) {
|
||||||
|
"http" + url.substring(5)
|
||||||
|
} else url
|
||||||
|
}
|
||||||
|
|
||||||
// Popular
|
// Popular
|
||||||
|
|
||||||
override fun popularMangaRequest(page: Int) = GET("$baseUrl/rank", headers)
|
override fun popularMangaRequest(page: Int) = GET("$baseUrl/rank", headers)
|
||||||
|
@ -33,7 +41,7 @@ class Yimmh : ParsedHttpSource() {
|
||||||
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
|
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
|
||||||
title = element.select("p.rank-list-info-right-title").text()
|
title = element.select("p.rank-list-info-right-title").text()
|
||||||
setUrlWithoutDomain(element.attr("abs:href"))
|
setUrlWithoutDomain(element.attr("abs:href"))
|
||||||
thumbnail_url = element.select("img").attr("data-original")
|
thumbnail_url = toHttp(element.select("img").attr("abs:data-original"))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Latest
|
// Latest
|
||||||
|
@ -52,7 +60,7 @@ class Yimmh : ParsedHttpSource() {
|
||||||
SManga.create().apply {
|
SManga.create().apply {
|
||||||
title = book.getString("book_name")
|
title = book.getString("book_name")
|
||||||
url = "/book/${book.getString("unique_id")}"
|
url = "/book/${book.getString("unique_id")}"
|
||||||
thumbnail_url = book.getString("cover_url")
|
thumbnail_url = toHttp(book.getString("cover_url"))
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -96,14 +104,14 @@ class Yimmh : ParsedHttpSource() {
|
||||||
override fun searchMangaFromElement(element: Element): SManga = SManga.create().apply {
|
override fun searchMangaFromElement(element: Element): SManga = SManga.create().apply {
|
||||||
title = element.select("p.book-list-info-title").text()
|
title = element.select("p.book-list-info-title").text()
|
||||||
setUrlWithoutDomain(element.select("a").attr("abs:href"))
|
setUrlWithoutDomain(element.select("a").attr("abs:href"))
|
||||||
thumbnail_url = element.select("img").attr("data-original")
|
thumbnail_url = toHttp(element.select("img").attr("abs:data-original"))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Details
|
// Details
|
||||||
|
|
||||||
override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply {
|
override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply {
|
||||||
title = document.select("p.detail-main-info-title").text()
|
title = document.select("p.detail-main-info-title").text()
|
||||||
thumbnail_url = document.select("div.detail-main-cover > img").attr("data-original")
|
thumbnail_url = toHttp(document.select("div.detail-main-cover > img").attr("abs:data-original"))
|
||||||
author = document.select("p.detail-main-info-author:contains(作者:) > a").text()
|
author = document.select("p.detail-main-info-author:contains(作者:) > a").text()
|
||||||
artist = author
|
artist = author
|
||||||
genre = document.select("p.detail-main-info-class > span").eachText().joinToString(", ")
|
genre = document.select("p.detail-main-info-class > span").eachText().joinToString(", ")
|
||||||
|
@ -133,7 +141,7 @@ class Yimmh : ParsedHttpSource() {
|
||||||
while (true) {
|
while (true) {
|
||||||
val images = page.select("div#cp_img > img.lazy")
|
val images = page.select("div#cp_img > img.lazy")
|
||||||
images.forEach {
|
images.forEach {
|
||||||
add(Page(size, "", it.attr("data-src")))
|
add(Page(size, "", toHttp(it.attr("abs:data-src"))))
|
||||||
}
|
}
|
||||||
val nextPage = page.select("a.view-bottom-bar-item:contains(下一页)").attr("href")
|
val nextPage = page.select("a.view-bottom-bar-item:contains(下一页)").attr("href")
|
||||||
if (nextPage.isNullOrEmpty()) {
|
if (nextPage.isNullOrEmpty()) {
|
||||||
|
@ -170,8 +178,8 @@ class Yimmh : ParsedHttpSource() {
|
||||||
"进度",
|
"进度",
|
||||||
arrayOf(
|
arrayOf(
|
||||||
Pair("-1", "全部"),
|
Pair("-1", "全部"),
|
||||||
Pair("1", "连载中"),
|
Pair("2", "连载中"),
|
||||||
Pair("2", "已完结")
|
Pair("1", "已完结")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue