From dc0151720e9e9a09680c34f5aea998a18107cc64 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Tue, 4 Apr 2023 07:52:24 +0300 Subject: [PATCH] [IsekaiScanEu] Fix chapters order #162 --- .../kotatsu/parsers/site/madara/IsekaiScanEuParser.kt | 2 +- .../org/koitharu/kotatsu/parsers/util/Chapters.kt | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/IsekaiScanEuParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/IsekaiScanEuParser.kt index 2a4b629f..9e2a099c 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/IsekaiScanEuParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/IsekaiScanEuParser.kt @@ -60,7 +60,7 @@ internal class IsekaiScanEuParser(context: MangaLoaderContext) : private fun parseChapters(ul: Element): List { val dateFormat = SimpleDateFormat(datePattern, Locale.US) - return ul.select("li").mapChapters { i, li -> + return ul.select("li").mapChapters(reversed = true) { i, li -> val a = li.selectFirst("a") val href = a?.attrAsRelativeUrlOrNull("href") ?: li.parseFailed("Link is missing") MangaChapter( diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/util/Chapters.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/util/Chapters.kt index a9ed843c..f506fbec 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/util/Chapters.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/util/Chapters.kt @@ -4,7 +4,10 @@ import org.koitharu.kotatsu.parsers.InternalParsersApi import org.koitharu.kotatsu.parsers.model.MangaChapter @InternalParsersApi -inline fun Iterable.mapChapters(transform: (index: Int, T) -> MangaChapter?): List { +inline fun Iterable.mapChapters( + reversed: Boolean = false, + transform: (index: Int, T) -> MangaChapter?, +): List { val builder = ChaptersListBuilder(collectionSize()) var index = 0 for (item in this) { @@ -12,6 +15,9 @@ inline fun Iterable.mapChapters(transform: (index: Int, T) -> MangaChapte index++ } } + if (reversed) { + builder.reverse() + } return builder.toList() } @@ -39,4 +45,4 @@ internal class ChaptersListBuilder(initialSize: Int) { } fun toList(): List = list -} \ No newline at end of file +}