MangaBox: Fix no pages found error (#8797)

* MangaBox: Fix no pages found error

* bump

* bruh

* add fallback

* fix fallback

* fix fallback

* fix bump
This commit is contained in:
lamaxama 2025-05-11 18:46:27 +08:00 committed by Draff
parent 526b8ec979
commit d0357da16a
No known key found for this signature in database
GPG Key ID: E8A89F3211677653
2 changed files with 11 additions and 5 deletions

View File

@ -2,4 +2,4 @@ plugins {
id("lib-multisrc")
}
baseVersionCode = 6
baseVersionCode = 7

View File

@ -85,6 +85,9 @@ abstract class MangaBox(
private fun useAltCdnInterceptor(chain: Interceptor.Chain): Response {
val request = chain.request()
if (cdnSet.isEmpty()) {
return chain.proceed(request)
}
val requestTag = request.tag(MangaBoxFallBackTag::class.java)
val originalResponse: Response? = try {
chain.proceed(request)
@ -346,11 +349,10 @@ abstract class MangaBox(
}
override fun pageListParse(document: Document): List<Page> {
val element = document.select("head > script").lastOrNull()
?: return emptyList()
val content = document.select("script:containsData(cdns =)").joinToString("\n") { it.data() }
val cdns =
extractArray(element.html(), "cdns") + extractArray(element.html(), "backupImage")
val chapterImages = extractArray(element.html(), "chapterImages")
extractArray(content, "cdns") + extractArray(content, "backupImage")
val chapterImages = extractArray(content, "chapterImages")
// Add all parsed cdns to set
cdnSet.addAll(cdns)
@ -369,6 +371,10 @@ abstract class MangaBox(
}
Page(i, document.location(), parsedUrl)
}.ifEmpty {
document.select("div.container-chapter-reader > img").mapIndexed { i, img ->
Page(i, imageUrl = img.absUrl("src"))
}
}
}