From b1ddba5462b88ae98385095034e5da8dac5fa5d1 Mon Sep 17 00:00:00 2001 From: are-are-are <62763969+dejavui@users.noreply.github.com> Date: Wed, 6 Aug 2025 21:50:24 +0700 Subject: [PATCH] Vlogtruyen: Update base URL & improve chapter filtering & use parseAs (#10008) Update base URL & improve chapter filtering & use parseAs --- src/vi/vlogtruyen/build.gradle | 2 +- .../extension/vi/vlogtruyen/VlogTruyen.kt | 18 +++++++----------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/vi/vlogtruyen/build.gradle b/src/vi/vlogtruyen/build.gradle index ea302dc43..d1e32ff44 100644 --- a/src/vi/vlogtruyen/build.gradle +++ b/src/vi/vlogtruyen/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'VlogTruyen' extClass = '.VlogTruyen' - extVersionCode = 12 + extVersionCode = 13 isNsfw = true } diff --git a/src/vi/vlogtruyen/src/eu/kanade/tachiyomi/extension/vi/vlogtruyen/VlogTruyen.kt b/src/vi/vlogtruyen/src/eu/kanade/tachiyomi/extension/vi/vlogtruyen/VlogTruyen.kt index 38eb047f3..a720b26f1 100644 --- a/src/vi/vlogtruyen/src/eu/kanade/tachiyomi/extension/vi/vlogtruyen/VlogTruyen.kt +++ b/src/vi/vlogtruyen/src/eu/kanade/tachiyomi/extension/vi/vlogtruyen/VlogTruyen.kt @@ -17,9 +17,8 @@ import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup import keiyoushi.utils.getPreferences +import keiyoushi.utils.parseAs import keiyoushi.utils.tryParse -import kotlinx.serialization.decodeFromString -import kotlinx.serialization.json.Json import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient @@ -29,7 +28,6 @@ import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Locale @@ -43,16 +41,14 @@ class VlogTruyen : ParsedHttpSource(), ConfigurableSource { override val id: Long = 6425642624422299254 - private val defaultBaseUrl = "https://vlogtruyen50.com" + private val defaultBaseUrl = "https://vlogtruyen52.com" override val baseUrl by lazy { getPrefBaseUrl() } private val dateFormat = SimpleDateFormat("dd-MM-yyyy", Locale.US) - private val json: Json by injectLazy() - override val client: OkHttpClient = network.cloudflareClient.newBuilder() - .rateLimit(1) + .rateLimit(3) .build() override fun headersBuilder(): Headers.Builder = super.headersBuilder() @@ -97,14 +93,14 @@ class VlogTruyen : ParsedHttpSource(), ConfigurableSource { } override fun chapterListParse(response: Response): List { - val json = json.decodeFromString(response.body.string().replace("\\n", "")) + val json = response.parseAs() val document = Jsoup.parseBodyFragment(json.data.chaptersHtml, response.request.url.toString()) val hidePaidChapters = preferences.getBoolean(KEY_HIDE_PAID_CHAPTERS, false) - return document.select("li, .ul-list-chaper-detail-commic li").filterNot { + return document.select("li").filterNot { if (hidePaidChapters) { - it.select("li:not(:has(> b))").text().isBlank().or(!hidePaidChapters) + it.select("li > b").isNotEmpty() } else { - it.select("li > a").text().isBlank().or(false) + false } } .mapNotNull {