Keyoapp: filter hidden images (#2980)

* Keyoapp: filter hidden images

* unused imports
This commit is contained in:
AwkwardPeak7 2024-05-13 20:18:19 +05:00 committed by Draff
parent dc225dba18
commit 5a229cd8cf
3 changed files with 10 additions and 28 deletions

View File

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

View File

@ -223,9 +223,8 @@ abstract class Keyoapp(
// Image list // Image list
override fun pageListParse(document: Document): List<Page> { override fun pageListParse(document: Document): List<Page> {
return document.select("#pages > img").map { return document.select("#pages > img:not(.hidden)").mapIndexed { index, img ->
val index = it.attr("count").toInt() Page(index, document.location(), img.imgAttr())
Page(index, document.location(), it.imgAttr("150"))
} }
} }
@ -234,31 +233,23 @@ abstract class Keyoapp(
// Utilities // Utilities
// From mangathemesia // From mangathemesia
protected fun Element.imgAttr(width: String): String { private fun Element.imgAttr(): String {
val url = when { val url = when {
hasAttr("data-lazy-src") -> attr("abs:data-lazy-src") hasAttr("data-lazy-src") -> attr("abs:data-lazy-src")
hasAttr("data-src") -> attr("abs:data-src") hasAttr("data-src") -> attr("abs:data-src")
else -> attr("abs:src") else -> attr("abs:src")
} }
return url.toHttpUrl() return url
.newBuilder()
.addQueryParameter("w", width)
.build()
.toString()
} }
private fun Element.getImageUrl(selector: String): String? { private fun Element.getImageUrl(selector: String): String? {
return this.selectFirst(selector)?.let { return this.selectFirst(selector)?.let { element ->
it.attr("style") element.attr("style")
.substringAfter(":url(", "") .substringAfter(":url(", "")
.substringBefore(")", "") .substringBefore(")", "")
.takeIf { it.isNotEmpty() } .takeIf { it.isNotEmpty() }
?.toHttpUrlOrNull()?.let { ?.toHttpUrlOrNull()?.newBuilder()?.setQueryParameter("w", "480")?.build()
it.newBuilder() ?.toString()
.setQueryParameter("w", "480")
.build()
.toString()
}
} }
} }

View File

@ -1,14 +1,5 @@
package eu.kanade.tachiyomi.extension.en.kewnscans package eu.kanade.tachiyomi.extension.en.kewnscans
import eu.kanade.tachiyomi.multisrc.keyoapp.Keyoapp import eu.kanade.tachiyomi.multisrc.keyoapp.Keyoapp
import eu.kanade.tachiyomi.source.model.Page
import org.jsoup.nodes.Document
class KewnScans : Keyoapp("Kewn Scans", "https://kewnscans.org", "en") { class KewnScans : Keyoapp("Kewn Scans", "https://kewnscans.org", "en")
override fun pageListParse(document: Document): List<Page> {
return document.select("#pages > img:not(.hidden)").map {
val index = it.attr("count").toInt()
Page(index, document.location(), it.imgAttr("150"))
}
}
}