From 250ab83b356a7f2e7b785a02da767998f26e0d56 Mon Sep 17 00:00:00 2001 From: Justin COLLON <48163201+error7404@users.noreply.github.com> Date: Sun, 21 Sep 2025 20:44:08 +0200 Subject: [PATCH] Japscan fix (#10651) Japscan: - fix manhua & manhwa url - better error management --- src/fr/japscan/build.gradle | 2 +- .../eu/kanade/tachiyomi/extension/fr/japscan/Japscan.kt | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/fr/japscan/build.gradle b/src/fr/japscan/build.gradle index b11542ab5..b2ec7120f 100644 --- a/src/fr/japscan/build.gradle +++ b/src/fr/japscan/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Japscan' extClass = '.Japscan' - extVersionCode = 51 + extVersionCode = 52 } apply from: "$rootDir/common.gradle" diff --git a/src/fr/japscan/src/eu/kanade/tachiyomi/extension/fr/japscan/Japscan.kt b/src/fr/japscan/src/eu/kanade/tachiyomi/extension/fr/japscan/Japscan.kt index 647114839..d9b6c099d 100644 --- a/src/fr/japscan/src/eu/kanade/tachiyomi/extension/fr/japscan/Japscan.kt +++ b/src/fr/japscan/src/eu/kanade/tachiyomi/extension/fr/japscan/Japscan.kt @@ -227,13 +227,16 @@ class Japscan : ConfigurableSource, ParsedHttpSource() { // Those have a span.badge "SPOILER" or "RAW". The additional pseudo selector makes sure to exclude these from the chapter list. override fun chapterFromElement(element: Element): SChapter { - val urlElement = element.selectFirst("*[href~=manga]")!! + val urlElement = element.selectFirst("*[href~=manga|manhua|manhwa]") + if (urlElement == null) { + throw Exception("Impossible de trouver l'URL du chapitre") + } val chapter = SChapter.create() chapter.setUrlWithoutDomain(urlElement.attr("href")) chapter.name = urlElement.ownText() - // Using ownText() doesn't include childs' text, like "VUS" or "RAW" badges, in the chapter name. - chapter.date_upload = element.selectFirst("span")!!.text().trim().let { parseChapterDate(it) } + // Using ownText() doesn't include child's text, like "VUS" or "RAW" badges, in the chapter name. + chapter.date_upload = element.selectFirst("span")?.text()?.trim()?.let { parseChapterDate(it) } ?: 0L return chapter }