Fix pages not found in some chapters at LM (#18753)

Fix pages not found in some chapters at LM.
This commit is contained in:
Alessandro Jean 2023-10-27 12:02:53 -03:00 committed by GitHub
parent 7561fc4606
commit 83719416e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 6 deletions

View File

@ -6,7 +6,7 @@ ext {
extName = 'Ler Mangá'
pkgNameSuffix = 'pt.lermanga'
extClass = '.LerManga'
extVersionCode = 1
extVersionCode = 2
isNsfw = true
}

View File

@ -101,11 +101,21 @@ class LerManga : ParsedHttpSource() {
}
override fun pageListParse(document: Document): List<Page> {
return document.selectFirst("h1.heading-header + script[src^=data]")!!
.attr("src")
.substringAfter("base64,")
.let { Base64.decode(it, Base64.DEFAULT).toString(charset("UTF-8")) }
.substringAfter("var imagens_cap=")
val pagesScript = document.selectFirst("h1.heading-header + script")
?: return emptyList()
val pagesJson = when {
pagesScript.hasAttr("src") -> {
pagesScript.attr("src")
.substringAfter("base64,")
.let { Base64.decode(it, Base64.DEFAULT).toString(Charsets.UTF_8) }
}
else -> pagesScript.data()
}
return pagesJson
.replace(PAGES_VARIABLE_REGEX, "")
.substringBeforeLast(";")
.let { json.decodeFromString<List<String>>(it) }
.mapIndexed { index, imageUrl ->
Page(index, document.location(), imageUrl)
@ -133,6 +143,7 @@ class LerManga : ParsedHttpSource() {
}
companion object {
private val PAGES_VARIABLE_REGEX = "var imagens_cap\\s*=\\s*".toRegex()
private val DATE_FORMATTER by lazy {
SimpleDateFormat("dd-MM-yyyy", Locale("pt", "BR"))
}