WeLoveManga: fix covers and pages (#17248)

* WeLoveManga: fix covers, pages

* nsfw
This commit is contained in:
Vetle Ledaal 2023-07-24 22:51:59 +02:00 committed by GitHub
parent 4ec625f582
commit 72c75cd579
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 10 deletions

View File

@ -1,14 +1,12 @@
package eu.kanade.tachiyomi.extension.ja.rawlh
import android.util.Base64
import eu.kanade.tachiyomi.multisrc.fmreader.FMReader
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.Request
import org.jsoup.nodes.Attribute
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import java.nio.charset.Charset
class WeLoveManga : FMReader("WeLoveManga", "https://weloma.art", "ja") {
// Formerly "RawLH"
@ -17,13 +15,9 @@ class WeLoveManga : FMReader("WeLoveManga", "https://weloma.art", "ja") {
override val chapterUrlSelector = ""
override fun pageListParse(document: Document): List<Page> {
fun Element.decoded(): String {
val attr = this.attributes().map(Attribute::key).maxByOrNull(kotlin.String::length) ?: "src"
return if (!this.attr(attr).contains(".")) {
Base64.decode(this.attr(attr), Base64.DEFAULT).toString(Charset.defaultCharset())
} else {
this.attr("abs:$attr")
}
return this.attr("data-src").trimEnd()
}
return document.select(pageListImageSelector).mapIndexed { i, img ->
Page(i, document.location(), img.decoded())
}
@ -31,4 +25,20 @@ class WeLoveManga : FMReader("WeLoveManga", "https://weloma.art", "ja") {
// Referer needs to be chapter URL
override fun imageRequest(page: Page): Request = GET(page.imageUrl!!, headersBuilder().set("Referer", page.url).build())
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
element.select(headerSelector).let {
setUrlWithoutDomain(it.attr("abs:href"))
title = it.text()
}
thumbnail_url = element
.select("div.content.img-in-ratio")
.first()!!
.attr("style")
.let { BACKGROUND_IMAGE_REGEX.find(it)?.groups?.get(1)?.value }
}
companion object {
val BACKGROUND_IMAGE_REGEX = Regex("""url\(['"]?(.*?)['"]?\)""")
}
}

View File

@ -20,7 +20,7 @@ class FMReaderGenerator : ThemeSourceGenerator {
SingleLang("ManhuaRock", "https://manhuarock.net", "vi", overrideVersionCode = 1),
SingleLang("Manhwa18", "https://manhwa18.com", "en", isNsfw = true, overrideVersionCode = 2),
SingleLang("Say Truyen", "https://saytruyenvip.com", "vi", overrideVersionCode = 3),
SingleLang("WeLoveManga", "https://weloma.art", "ja", pkgName = "rawlh", overrideVersionCode = 4),
SingleLang("WeLoveManga", "https://weloma.art", "ja", pkgName = "rawlh", isNsfw = true, overrideVersionCode = 5),
SingleLang("Manga1000", "https://manga1000.top", "ja"),
SingleLang("WeLoveMangaOne", "https://welovemanga.one", "ja", isNsfw = true, overrideVersionCode = 1),
)