diff --git a/src/ko/jmana/src/eu/kanade/tachiyomi/extension/ko/jmana/JMana.kt b/src/ko/jmana/src/eu/kanade/tachiyomi/extension/ko/jmana/JMana.kt index a580d8a91..e450972c8 100644 --- a/src/ko/jmana/src/eu/kanade/tachiyomi/extension/ko/jmana/JMana.kt +++ b/src/ko/jmana/src/eu/kanade/tachiyomi/extension/ko/jmana/JMana.kt @@ -95,6 +95,7 @@ class JMana : ConfigurableSource, ParsedHttpSource() { } override fun chapterListSelector() = "div.content > div.books-list-detail > div.lst-wrap > ul > li" + private val TAG = "JMana" override fun chapterFromElement(element: Element): SChapter { val top = element.select("div.top-layout-m > div.inner > a.tit") @@ -133,11 +134,36 @@ class JMana : ConfigurableSource, ParsedHttpSource() { } override fun pageListParse(document: Document): List { - return document.select("div.pdf-wrap img").mapIndexed { i, img -> - Page(i, "", if (img.hasAttr("data-src")) img.attr("abs:data-src") else img.attr("abs:src")) - } + // + val pages = document.select("div.pdf-wrap img.comicdetail") + .groupBy { img -> + val imageUrl = getImageUrl(img) + extractChapterName(imageUrl) + } + .maxByOrNull { it.value.size } + ?.value + ?.mapIndexed { i, img -> + Page( + i, + "", + getImageUrl(img) + ) + } + return pages ?: emptyList() } + /** + * Extracts the chapter name from the image url, e.g. + * https://img6.xyz.futbol/comics/jdrive01/202005/하야테처럼/하야테처럼! 1화/2d206674-93f5-4991-9420-6d63e2a00010.jpg + * -> '하야테처럼! 1화' + */ + private fun extractChapterName(imageUrl: String) = + imageUrl.split('/').dropLast(1).lastOrNull() + + private fun getImageUrl(img: Element) = + if (img.hasAttr("data-src")) img.attr("abs:data-src") else img.attr("abs:src") + override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/comic_recent?page=$page", headers) override fun latestUpdatesParse(response: Response): MangasPage {