From 5997e5507eeb3424095774ef7be245a494256fec Mon Sep 17 00:00:00 2001 From: are-are-are <62763969+dejavui@users.noreply.github.com> Date: Mon, 13 Oct 2025 20:06:04 +0700 Subject: [PATCH] GocTruyenTranh: Update domain & update parseDate, parseStatus (#11029) GocTruyenTranh: Update domain & update parseDate, parseStatus, & fix mangaDetailsParse --- src/vi/goctruyentranh/build.gradle | 2 +- .../vi/goctruyentranh/GocTruyenTranh.kt | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/vi/goctruyentranh/build.gradle b/src/vi/goctruyentranh/build.gradle index 21948ec8c..6e19a67b4 100644 --- a/src/vi/goctruyentranh/build.gradle +++ b/src/vi/goctruyentranh/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Goc Truyen Tranh' extClass = '.GocTruyenTranh' - extVersionCode = 5 + extVersionCode = 6 isNsfw = true } diff --git a/src/vi/goctruyentranh/src/eu/kanade/tachiyomi/extension/vi/goctruyentranh/GocTruyenTranh.kt b/src/vi/goctruyentranh/src/eu/kanade/tachiyomi/extension/vi/goctruyentranh/GocTruyenTranh.kt index 4ec41166b..8b58936c5 100644 --- a/src/vi/goctruyentranh/src/eu/kanade/tachiyomi/extension/vi/goctruyentranh/GocTruyenTranh.kt +++ b/src/vi/goctruyentranh/src/eu/kanade/tachiyomi/extension/vi/goctruyentranh/GocTruyenTranh.kt @@ -31,7 +31,7 @@ class GocTruyenTranh : ParsedHttpSource(), ConfigurableSource { override val lang = "vi" - private val defaultBaseUrl = "https://goctruyentranh.org" + private val defaultBaseUrl = "https://goctruyentranh.net" override val baseUrl by lazy { getPrefBaseUrl() } @@ -85,7 +85,8 @@ class GocTruyenTranh : ParsedHttpSource(), ConfigurableSource { private fun parseDate(date: String): Long = runCatching { val calendar = Calendar.getInstance() val number = date.replace(Regex("[^0-9]"), "").trim().toInt() - when (date.replace(Regex("[0-9]"), "").trim()) { + when (date.replace(Regex("[0-9]"), "").lowercase().trim()) { + "giây trước" -> calendar.apply { add(Calendar.SECOND, -number) }.timeInMillis "phút trước" -> calendar.apply { add(Calendar.MINUTE, -number) }.timeInMillis "giờ trước" -> calendar.apply { add(Calendar.HOUR, -number) }.timeInMillis "ngày trước" -> calendar.apply { add(Calendar.DAY_OF_YEAR, -number) }.timeInMillis @@ -96,18 +97,19 @@ class GocTruyenTranh : ParsedHttpSource(), ConfigurableSource { override fun imageUrlParse(document: Document): String = throw UnsupportedOperationException() override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply { - title = document.selectFirst("section aside:first-child h1")!!.text() + title = document.select("section aside:first-child h1").text() genre = document.select("span:contains(Thể loại:) ~ a").joinToString { it.text().trim(',', ' ') } - description = document.selectFirst("div.mt-3")?.text() + description = document.select("div.mt-3").joinToString { it.wholeText() } thumbnail_url = document.selectFirst("section aside:first-child img")?.absUrl("src") status = parseStatus(document.selectFirst("span:contains(Trạng thái:) + b")?.text()) - author = document.select("span:contains(Tác giả:) + b").joinToString { it.text() } + author = document.selectFirst("span:contains(Tác giả:) + b")?.text() } private fun parseStatus(status: String?) = when { status == null -> SManga.UNKNOWN - status.contains("Đang tiến hành", ignoreCase = true) -> SManga.ONGOING - status.contains("Hoàn thành", ignoreCase = true) -> SManga.COMPLETED + listOf("Đang Tiến Hành", "Đang Cập Nhật").any { status.contains(it, ignoreCase = true) } -> SManga.ONGOING + listOf("Hoàn Thành", "Đã Hoàn Thành").any { status.contains(it, ignoreCase = true) } -> SManga.COMPLETED + listOf("Tạm Ngưng", "Tạm Hoãn").any { status.contains(it, ignoreCase = true) } -> SManga.ON_HIATUS else -> SManga.UNKNOWN }