From 88d75d41863e92806d25ff1da9b91527fb0f4275 Mon Sep 17 00:00:00 2001
From: LuftVerbot <97435834+LuftVerbot@users.noreply.github.com>
Date: Sun, 8 Jan 2023 12:59:47 +0100
Subject: [PATCH] 9Anime: episode-list right order (#1143)
* 9Anime: episode-list right order
* Update build.gradle
* Update NineAnime.kt
---
src/en/nineanime/build.gradle | 2 +-
.../animeextension/en/nineanime/JsInterceptor.kt | 2 +-
.../animeextension/en/nineanime/JsVizInterceptor.kt | 2 +-
.../tachiyomi/animeextension/en/nineanime/NineAnime.kt | 9 ++++-----
4 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/src/en/nineanime/build.gradle b/src/en/nineanime/build.gradle
index 0e95885b1..7f07a1bb3 100644
--- a/src/en/nineanime/build.gradle
+++ b/src/en/nineanime/build.gradle
@@ -5,7 +5,7 @@ ext {
extName = '9anime'
pkgNameSuffix = 'en.nineanime'
extClass = '.NineAnime'
- extVersionCode = 23
+ extVersionCode = 24
libVersion = '13'
}
diff --git a/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/JsInterceptor.kt b/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/JsInterceptor.kt
index b4062d88c..749f78eb3 100644
--- a/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/JsInterceptor.kt
+++ b/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/JsInterceptor.kt
@@ -49,7 +49,7 @@ class JsInterceptor(private val lang: String) : Interceptor {
val jsinterface = JsObject(latch)
- //JavaSrcipt gets the Dub or Sub link of vidstream
+ // JavaSrcipt gets the Dub or Sub link of vidstream
val jsScript = """
(function(){
setTimeout(function(){
diff --git a/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/JsVizInterceptor.kt b/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/JsVizInterceptor.kt
index 5d6b4173e..7fb92771f 100644
--- a/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/JsVizInterceptor.kt
+++ b/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/JsVizInterceptor.kt
@@ -49,7 +49,7 @@ class JsVizInterceptor(private val embedLink: String) : Interceptor {
val jsinterface = JsObject(latch)
- //JavaSrcipt creates Iframe on vidstream page to bypass iframe-cors and gets the sourceUrl
+ // JavaSrcipt creates Iframe on vidstream page to bypass iframe-cors and gets the sourceUrl
val jsScript = """
(function(){
const html = '';
diff --git a/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/NineAnime.kt b/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/NineAnime.kt
index b80ae77fb..7beb44271 100644
--- a/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/NineAnime.kt
+++ b/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/NineAnime.kt
@@ -23,7 +23,6 @@ import kotlinx.serialization.json.jsonArray
import kotlinx.serialization.json.jsonObject
import kotlinx.serialization.json.jsonPrimitive
import okhttp3.Headers
-import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.Response
@@ -74,8 +73,8 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
val vrf = jsVrfInterceptor.newCall(GET("$baseUrl/filter")).execute().request.header("url").toString()
return GET("$baseUrl/ajax/episode/list/$id?vrf=$vrf", headers = Headers.headersOf("url", anime.url))
}
-
- private fun Iterable.parallelMap(f: suspend (A) -> B): List =
+
+ private fun Iterable.parallelMap(f: suspend (A) -> B): List =
runBlocking {
map { async(Dispatchers.Default) { f(it) } }.awaitAll()
}
@@ -85,7 +84,7 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
val responseObject = json.decodeFromString(response.body!!.string())
val document = Jsoup.parse(JSONUtil.unescape(responseObject["result"]!!.jsonPrimitive.content))
val episodeElements = document.select(episodeListSelector())
- return episodeElements.parallelMap { episodeFromElements(it, animeUrl) }
+ return episodeElements.parallelMap { episodeFromElements(it, animeUrl) }.reversed()
}
override fun episodeListSelector() = "div.episodes ul > li > a"
@@ -231,7 +230,7 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
anime.title = document.select("h1.title").text()
anime.genre = document.select("div:contains(Genre) > span > a").joinToString { it.text() }
anime.description = document.select("div.synopsis > div.shorting > div.content").text()
- anime.author = document.select("div:contains(Studios) > span > a").text()
+ anime.author = document.select("div:contains(Studio) > span > a").text()
anime.status = parseStatus(document.select("div:contains(Status) > span").text())
// add alternative name to anime description