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 }