MangaCrab: Fix images not loading (#10844)

* fix images not loading

* apply suggestion
This commit is contained in:
bapeey 2025-10-03 06:16:08 -05:00 committed by Draff
parent eb6fe726df
commit 233df400f0
Signed by: Draff
GPG Key ID: E8A89F3211677653
2 changed files with 18 additions and 1 deletions

View File

@ -3,7 +3,7 @@ ext {
extClass = '.MangaCrab'
themePkg = 'madara'
baseUrl = 'https://mangacrab.org'
overrideVersionCode = 15
overrideVersionCode = 16
isNsfw = false
}

View File

@ -51,9 +51,26 @@ class MangaCrab :
override val pageListParseSelector = "div.page-break:not([style*='display:none']) img:not([src])"
override fun imageFromElement(element: Element): String? {
val url = element.attributes()
.firstNotNullOfOrNull { attr ->
element.absUrl(attr.key).toHttpUrlOrNull()
?.takeIf { it.encodedPath == "/validate.php" }
}
val fileUrl = url
?.queryParameter("file")
?.takeIf { it.isNotBlank() }
?.let { file ->
url.newBuilder()
.encodedPath("/$file")
.query(null)
.build()
}
val imageAbsUrl = element.attributes().firstOrNull { it.value.toHttpUrlOrNull() != null }?.value
return when {
fileUrl != null -> fileUrl.toString()
element.hasAttr("data-src") -> element.attr("abs:data-src")
element.hasAttr("data-lazy-src") -> element.attr("abs:data-lazy-src")
element.hasAttr("srcset") -> element.attr("abs:srcset").getSrcSetImage()