From f7620bc174f4792e4f5f79082b54680b165eb356 Mon Sep 17 00:00:00 2001 From: Promchai Chooseang <promchai2sin@gmail.com> Date: Thu, 4 Nov 2021 17:32:42 +0700 Subject: [PATCH] Fix Mukudoujin chapter number (#9729) * Add MikuDoujin * Add MikuDoujin V.1.2.1 * Update MikuDoujin.kt * Update MikuDoujin * Add ability to search using genre * Add Rh2PlusManga * Add Rh2PlusManga V.1.12.2 * Use Madara multi-source themes * Change MikuDoujin gradle and Add Rh2PlusManga generator. * update file to suggestion. * add Rh2PlusManga to MadaraGenerator.kt. * Fix Thai Madara source time format and MikuDoujin pages selector. * add Thai relative time wordlist to Madara parseRelativeDate. * change Rh2PlusManga and Mangauptocat date format. * change Mangauptocat base url. * change MikuDoujin pageListParse selector. * Fix MikuDoujin Chapter number. * fix MikuDoujin when try to fetch chapter name with non numeric ending word. --- src/th/mikudoujin/build.gradle | 2 +- .../extension/th/mikudoujin/MikuDoujin.kt | 22 ++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/th/mikudoujin/build.gradle b/src/th/mikudoujin/build.gradle index 8993debde..2719c2da9 100644 --- a/src/th/mikudoujin/build.gradle +++ b/src/th/mikudoujin/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'MikuDoujin' pkgNameSuffix = 'th.mikudoujin' extClass = '.MikuDoujin' - extVersionCode = 2 + extVersionCode = 3 isNsfw = true } diff --git a/src/th/mikudoujin/src/eu/kanade/tachiyomi/extension/th/mikudoujin/MikuDoujin.kt b/src/th/mikudoujin/src/eu/kanade/tachiyomi/extension/th/mikudoujin/MikuDoujin.kt index ae7a8fd16..f46c3a8b8 100644 --- a/src/th/mikudoujin/src/eu/kanade/tachiyomi/extension/th/mikudoujin/MikuDoujin.kt +++ b/src/th/mikudoujin/src/eu/kanade/tachiyomi/extension/th/mikudoujin/MikuDoujin.kt @@ -143,7 +143,9 @@ class MikuDoujin : ParsedHttpSource() { override fun chapterListSelector() = "table.table-episode tr" - override fun chapterFromElement(element: Element): SChapter { + override fun chapterFromElement(element: Element): SChapter = throw Exception("Unused") + + private fun chapterFromElementWithIndex(element: Element, idx: Int, manga: SManga): SChapter { val chapter = SChapter.create() element.select("td a").let { chapter.setUrlWithoutDomain(it.attr("href")) @@ -151,7 +153,15 @@ class MikuDoujin : ParsedHttpSource() { if (chapter.name.isEmpty()) { chapter.chapter_number = 0.0f } else { - chapter.chapter_number = chapter.name.split(" ").last().toFloat() + val lastWord = chapter.name.split(" ").last() + try { + chapter.chapter_number = lastWord.toFloat() + } catch (ex: NumberFormatException) { + if (lastWord == "จบ") { + manga.status = SManga.COMPLETED + } + chapter.chapter_number = (idx + 1).toFloat() + } } } @@ -167,6 +177,7 @@ class MikuDoujin : ParsedHttpSource() { val mangaDocument = it.asJsoup() if (mangaDocument.select(chapterListSelector()).isEmpty()) { + manga.status = SManga.COMPLETED val createdChapter = SChapter.create().apply { url = manga.url name = "Chapter 1" @@ -174,9 +185,10 @@ class MikuDoujin : ParsedHttpSource() { } chList = listOf(createdChapter) } else { - chList = mangaDocument.select(chapterListSelector()).map { Chapter -> - chapterFromElement(Chapter) - } + chList = + mangaDocument.select(chapterListSelector()).mapIndexed { idx, Chapter -> + chapterFromElementWithIndex(Chapter, idx, manga) + } } chList }