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