dependency and coroutines cleanup

This commit is contained in:
jmir1
2021-09-07 17:37:40 +02:00
parent 1e2eb0462a
commit 84dada2007
10 changed files with 27 additions and 76 deletions

View File

@ -5,13 +5,8 @@ ext {
extName = 'WIT ANIME' extName = 'WIT ANIME'
pkgNameSuffix = 'ar.witanime' pkgNameSuffix = 'ar.witanime'
extClass = '.WitAnime' extClass = '.WitAnime'
extVersionCode = 6 extVersionCode = 7
libVersion = '12' libVersion = '12'
} }
dependencies {
ext.coroutinesVersion = "1.4.3"
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion")
}
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View File

@ -6,9 +6,7 @@ import eu.kanade.tachiyomi.animesource.model.SEpisode
import eu.kanade.tachiyomi.animesource.model.Video import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.await
import eu.kanade.tachiyomi.util.asJsoup import eu.kanade.tachiyomi.util.asJsoup
import kotlinx.coroutines.runBlocking
import okhttp3.Headers.Companion.toHeaders import okhttp3.Headers.Companion.toHeaders
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.Request import okhttp3.Request
@ -64,10 +62,8 @@ class WitAnime : ParsedAnimeHttpSource() {
val referer = response.request.url.encodedPath val referer = response.request.url.encodedPath
val newHeaderList = mutableMapOf(Pair("referer", baseUrl + referer)) val newHeaderList = mutableMapOf(Pair("referer", baseUrl + referer))
headers.forEach { newHeaderList[it.first] = it.second } headers.forEach { newHeaderList[it.first] = it.second }
val iframeResponse = runBlocking { val iframeResponse = client.newCall(GET(iframe, newHeaderList.toHeaders()))
client.newCall(GET(iframe, newHeaderList.toHeaders())) .execute().asJsoup()
.await().asJsoup()
}
return iframeResponse.select(videoListSelector()).map { videoFromElement(it) } return iframeResponse.select(videoListSelector()).map { videoFromElement(it) }
} }

View File

@ -5,13 +5,8 @@ ext {
extName = 'XS Anime' extName = 'XS Anime'
pkgNameSuffix = 'ar.xsanime' pkgNameSuffix = 'ar.xsanime'
extClass = '.XsAnime' extClass = '.XsAnime'
extVersionCode = 2 extVersionCode = 3
libVersion = '12' libVersion = '12'
} }
dependencies {
ext.coroutinesVersion = "1.4.3"
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion")
}
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View File

@ -7,9 +7,7 @@ import eu.kanade.tachiyomi.animesource.model.SEpisode
import eu.kanade.tachiyomi.animesource.model.Video import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.await
import eu.kanade.tachiyomi.util.asJsoup import eu.kanade.tachiyomi.util.asJsoup
import kotlinx.coroutines.runBlocking
import okhttp3.Headers.Companion.toHeaders import okhttp3.Headers.Companion.toHeaders
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
@ -66,10 +64,8 @@ class XsAnime : ParsedAnimeHttpSource() {
val referer = response.request.url.encodedPath val referer = response.request.url.encodedPath
val newHeaderList = mutableMapOf(Pair("referer", baseUrl + referer)) val newHeaderList = mutableMapOf(Pair("referer", baseUrl + referer))
headers.forEach { newHeaderList[it.first] = it.second } headers.forEach { newHeaderList[it.first] = it.second }
val iframeResponse = runBlocking { val iframeResponse = client.newCall(GET(iframe, newHeaderList.toHeaders()))
client.newCall(GET(iframe, newHeaderList.toHeaders())) .execute().asJsoup()
.await().asJsoup()
}
return iframeResponse.select(videoListSelector()).map { videoFromElement(it) } return iframeResponse.select(videoListSelector()).map { videoFromElement(it) }
} }

View File

@ -5,13 +5,8 @@ ext {
extName = 'AnimePahe' extName = 'AnimePahe'
pkgNameSuffix = 'en.animepahe' pkgNameSuffix = 'en.animepahe'
extClass = '.AnimePahe' extClass = '.AnimePahe'
extVersionCode = 2 extVersionCode = 3
libVersion = '12' libVersion = '12'
} }
dependencies {
ext.coroutinesVersion = "1.4.3"
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion")
}
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View File

@ -5,13 +5,8 @@ ext {
extName = 'Gogoanime' extName = 'Gogoanime'
pkgNameSuffix = 'en.gogoanime' pkgNameSuffix = 'en.gogoanime'
extClass = '.GogoAnime' extClass = '.GogoAnime'
extVersionCode = 10 extVersionCode = 11
libVersion = '12' libVersion = '12'
} }
dependencies {
ext.coroutinesVersion = "1.4.3"
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion")
}
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View File

@ -6,9 +6,7 @@ import eu.kanade.tachiyomi.animesource.model.SEpisode
import eu.kanade.tachiyomi.animesource.model.Video import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.await
import eu.kanade.tachiyomi.util.asJsoup import eu.kanade.tachiyomi.util.asJsoup
import kotlinx.coroutines.runBlocking
import okhttp3.Headers import okhttp3.Headers
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.Request import okhttp3.Request
@ -55,13 +53,12 @@ class GogoAnime : ParsedAnimeHttpSource() {
val document = response.asJsoup() val document = response.asJsoup()
val totalEpisodes = document.select(episodeListSelector()).last().attr("ep_end") val totalEpisodes = document.select(episodeListSelector()).last().attr("ep_end")
val id = document.select("input#movie_id").attr("value") val id = document.select("input#movie_id").attr("value")
return runBlocking { episodesRequest(totalEpisodes, id) } return episodesRequest(totalEpisodes, id)
} }
private suspend fun episodesRequest(totalEpisodes: String, id: String): List<SEpisode> { private fun episodesRequest(totalEpisodes: String, id: String): List<SEpisode> {
val request = GET("https://ajax.gogo-load.com/ajax/load-list-episode?ep_start=0&ep_end=$totalEpisodes&id=$id", headers) val request = GET("https://ajax.gogo-load.com/ajax/load-list-episode?ep_start=0&ep_end=$totalEpisodes&id=$id", headers)
val epResponse = client.newCall(request) val epResponse = client.newCall(request).execute()
.await()
val document = epResponse.asJsoup() val document = epResponse.asJsoup()
return document.select("a").map { episodeFromElement(it) } return document.select("a").map { episodeFromElement(it) }
} }

View File

@ -5,14 +5,9 @@ ext {
extName = 'hanime.tv' extName = 'hanime.tv'
pkgNameSuffix = 'en.hanime' pkgNameSuffix = 'en.hanime'
extClass = '.Hanime' extClass = '.Hanime'
extVersionCode = 7 extVersionCode = 8
libVersion = '12' libVersion = '12'
containsNsfw = true containsNsfw = true
} }
dependencies {
ext.coroutinesVersion = "1.4.3"
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion")
}
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View File

@ -5,13 +5,8 @@ ext {
extName = 'twist.moe' extName = 'twist.moe'
pkgNameSuffix = 'en.twistmoe' pkgNameSuffix = 'en.twistmoe'
extClass = '.TwistMoe' extClass = '.TwistMoe'
extVersionCode = 5 extVersionCode = 6
libVersion = '12' libVersion = '12'
} }
dependencies {
ext.coroutinesVersion = "1.4.3"
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion")
}
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View File

@ -13,8 +13,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.await
import kotlinx.coroutines.runBlocking
import okhttp3.Headers import okhttp3.Headers
import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Request import okhttp3.Request
@ -134,16 +132,13 @@ class TwistMoe : AnimeHttpSource() {
"" ""
} }
if (malID.isNotEmpty()) { if (malID.isNotEmpty()) {
val coverResponse = runBlocking {
val headers = Headers.Builder().apply { val headers = Headers.Builder().apply {
add("Content-Type", "application/json") add("Content-Type", "application/json")
add("Accept", "application/json") add("Accept", "application/json")
}.build() }.build()
val bodyString = "{\"query\":\"query(\$id: Int){Media(type:ANIME,idMal:\$id){coverImage{large}}}\",\"variables\":{\"id\":$malID}}" val bodyString = "{\"query\":\"query(\$id: Int){Media(type:ANIME,idMal:\$id){coverImage{large}}}\",\"variables\":{\"id\":$malID}}"
val body = bodyString.toRequestBody("application/json".toMediaType()) val body = bodyString.toRequestBody("application/json".toMediaType())
client.newCall(POST("https://graphql.anilist.co", headers, body)) val coverResponse = client.newCall(POST("https://graphql.anilist.co", headers, body)).execute()
.await()
}
val imageUrl = JsonParser.parseString(coverResponse.body!!.string()) val imageUrl = JsonParser.parseString(coverResponse.body!!.string())
.asJsonObject.get("data") .asJsonObject.get("data")
.asJsonObject.get("Media") .asJsonObject.get("Media")
@ -152,16 +147,13 @@ class TwistMoe : AnimeHttpSource() {
if (imageUrl.isNotEmpty()) anime.thumbnail_url = imageUrl if (imageUrl.isNotEmpty()) anime.thumbnail_url = imageUrl
} else { } else {
val query = anime.title val query = anime.title
val coverResponse = runBlocking {
val headers = Headers.Builder().apply { val headers = Headers.Builder().apply {
add("Content-Type", "application/json") add("Content-Type", "application/json")
add("Accept", "application/json") add("Accept", "application/json")
}.build() }.build()
val bodyString = "{\"query\":\"query(\$query: String){Media(type:ANIME,search:\$query){coverImage{large}}}\",\"variables\":{\"query\":\"$query\"}}" val bodyString = "{\"query\":\"query(\$query: String){Media(type:ANIME,search:\$query){coverImage{large}}}\",\"variables\":{\"query\":\"$query\"}}"
val body = bodyString.toRequestBody("application/json".toMediaType()) val body = bodyString.toRequestBody("application/json".toMediaType())
client.newCall(POST("https://graphql.anilist.co", headers, body)) val coverResponse = client.newCall(POST("https://graphql.anilist.co", headers, body)).execute()
.await()
}
val imageUrl = JsonParser.parseString(coverResponse.body!!.string()) val imageUrl = JsonParser.parseString(coverResponse.body!!.string())
.asJsonObject.get("data") .asJsonObject.get("data")
.asJsonObject.get("Media") .asJsonObject.get("Media")