Fix page previews after E-H update

This commit is contained in:
Jobobby04 2023-10-27 17:13:54 -04:00
parent 90281affc4
commit d45563e58d

View File

@ -1158,17 +1158,22 @@ class EHentai(
.toString(), .toString(),
), ),
).awaitSuccess().asJsoup() ).awaitSuccess().asJsoup()
val previews = if (doc.selectFirst("div#gdo4 .ths")!!.attr("onClick").contains("inline_set=ts_l")) {
doc.body() val body = doc.body()
.select("#gdt div a") val previews = body
.select("#gdt div div")
.map { .map {
PagePreviewInfo(it.text().toInt(), imageUrl = it.select("img").attr("src")) val preview = parseNormalPreview(it)
}
} else {
parseNormalPreviewSet(doc)
.map { preview ->
PagePreviewInfo(preview.index, imageUrl = preview.toUrl()) PagePreviewInfo(preview.index, imageUrl = preview.toUrl())
} }
.ifEmpty {
body.select("#gdt div a img")
.map {
PagePreviewInfo(
it.attr("alt").toInt(),
imageUrl = it.attr("src")
)
}
} }
return PagePreviewPage( return PagePreviewPage(
@ -1190,12 +1195,9 @@ class EHentai(
/** /**
* Parse normal previews with regular expressions * Parse normal previews with regular expressions
*/ */
private fun parseNormalPreviewSet(doc: Document): List<EHentaiThumbnailPreview> { private fun parseNormalPreview(element: Element): EHentaiThumbnailPreview {
return doc.body() val index = element.selectFirst("img")!!.attr("alt").toInt()
.select("#gdt div div") val styles = element.attr("style").split(";").mapNotNull { it.trimOrNull() }
.map { it.selectFirst("img")!!.attr("alt").toInt() to it.attr("style") }
.map { (index, style) ->
val styles = style.split(";").mapNotNull { it.trimOrNull() }
val width = styles.first { it.startsWith("width:") } val width = styles.first { it.startsWith("width:") }
.removePrefix("width:") .removePrefix("width:")
.removeSuffix("px") .removeSuffix("px")
@ -1219,8 +1221,7 @@ class EHentai(
.removeSuffix("px") .removeSuffix("px")
.toInt() .toInt()
EHentaiThumbnailPreview(url, width, height, widthOffset, index) return EHentaiThumbnailPreview(url, width, height, widthOffset, index).also(::println)
}
} }
data class EHentaiThumbnailPreview( data class EHentaiThumbnailPreview(
val imageUrl: String, val imageUrl: String,