WeLoveMangaOne: fix chapter and page logic (#17196)

This commit is contained in:
Vetle Ledaal 2023-07-21 23:41:40 +02:00 committed by GitHub
parent a2beada8ea
commit da1cfdc5ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 37 additions and 1 deletions

View File

@ -3,6 +3,10 @@ package eu.kanade.tachiyomi.extension.ja.welovemangaone
import eu.kanade.tachiyomi.multisrc.fmreader.FMReader
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.util.asJsoup
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import org.jsoup.nodes.Element
import java.util.Calendar
@ -10,6 +14,18 @@ class WeLoveMangaOne : FMReader("WeLoveMangaOne", "https://welovemanga.one", "ja
override fun latestUpdatesRequest(page: Int) =
GET("$baseUrl/manga-list.html?page=$page&sort=last_update")
override fun chapterListRequest(manga: SManga): Request {
val mangaId = MID_URL_REGEX.find(manga.url)
?.groupValues?.get(1)
?: throw Exception("Could not find manga id")
val xhrUrl = "$baseUrl/app/manga/controllers/cont.Listchapter.php".toHttpUrl().newBuilder()
.addQueryParameter("mid", mangaId)
.build()
return GET(xhrUrl, headers)
}
override fun chapterFromElement(element: Element, mangaTitle: String): SChapter {
return SChapter.create().apply {
element.let {
@ -41,4 +57,24 @@ class WeLoveMangaOne : FMReader("WeLoveMangaOne", "https://welovemanga.one", "ja
return chapterDate.timeInMillis
}
override fun pageListRequest(chapter: SChapter): Request {
val request = super.pageListRequest(chapter)
val response = client.newCall(request).execute()
val document = response.asJsoup()
val chapterId = document.selectFirst("#chapter")
?.`val`()
?: throw Exception("Could not find chapter id")
val xhrUrl = "$baseUrl/app/manga/controllers/cont.listImg.php".toHttpUrl().newBuilder()
.addQueryParameter("cid", chapterId)
.build()
return GET(xhrUrl, headers)
}
companion object {
private val MID_URL_REGEX = "(\\d+)/".toRegex()
}
}

View File

@ -22,7 +22,7 @@ class FMReaderGenerator : ThemeSourceGenerator {
SingleLang("Say Truyen", "https://saytruyenvip.com", "vi", overrideVersionCode = 3),
SingleLang("WeLoveManga", "https://weloma.art", "ja", pkgName = "rawlh", overrideVersionCode = 4),
SingleLang("Manga1000", "https://manga1000.top", "ja"),
SingleLang("WeLoveMangaOne", "https://welovemanga.one", "ja"),
SingleLang("WeLoveMangaOne", "https://welovemanga.one", "ja", isNsfw = true, overrideVersionCode = 1),
)
companion object {