mirror of
https://github.com/recloudstream/cloudstream-extensions-multilingual.git
synced 2024-08-15 03:15:14 +00:00
quicksearch Animeworld
This commit is contained in:
parent
472a087423
commit
91b105ab95
11 changed files with 44 additions and 11 deletions
|
@ -1,5 +1,5 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 1
|
version = 2
|
||||||
|
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 1
|
version = 2
|
||||||
|
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -21,6 +21,7 @@ class AnimeWorldProvider : MainAPI() {
|
||||||
override var name = "AnimeWorld"
|
override var name = "AnimeWorld"
|
||||||
override var lang = "it"
|
override var lang = "it"
|
||||||
override val hasMainPage = true
|
override val hasMainPage = true
|
||||||
|
override val hasQuickSearch = true
|
||||||
|
|
||||||
override val supportedTypes = setOf(
|
override val supportedTypes = setOf(
|
||||||
TvType.Anime,
|
TvType.Anime,
|
||||||
|
@ -30,7 +31,7 @@ class AnimeWorldProvider : MainAPI() {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private var cookies = emptyMap<String, String>()
|
private var cookies = emptyMap<String, String>()
|
||||||
|
private lateinit var token : String
|
||||||
// Disabled authentication as site did
|
// Disabled authentication as site did
|
||||||
private suspend fun request(url: String): NiceResponse {
|
private suspend fun request(url: String): NiceResponse {
|
||||||
// if (cookies.isEmpty()) {
|
// if (cookies.isEmpty()) {
|
||||||
|
@ -154,6 +155,38 @@ class AnimeWorldProvider : MainAPI() {
|
||||||
return HomePageResponse(list)
|
return HomePageResponse(list)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
data class searchJson(
|
||||||
|
@JsonProperty("animes") val animes: List<animejson>
|
||||||
|
)
|
||||||
|
data class animejson(
|
||||||
|
@JsonProperty("name") val name: String,
|
||||||
|
@JsonProperty("image") val image: String,
|
||||||
|
@JsonProperty("link") val link: String,
|
||||||
|
@JsonProperty("animeTypeName") val type: String,
|
||||||
|
@JsonProperty("language") val language: String,
|
||||||
|
@JsonProperty("jtitle") val otherTitle: String
|
||||||
|
)
|
||||||
|
|
||||||
|
override suspend fun quickSearch(query: String): List<SearchResponse>? {
|
||||||
|
val document = app.post("https://www.animeworld.tv/api/search/v2?keyword=${query}", referer = mainUrl, cookies = cookies, headers = mapOf("csrf-token" to token)).text
|
||||||
|
|
||||||
|
return tryParseJson<searchJson>(document)?.animes?.map { anime->
|
||||||
|
val type = when (anime.type) {
|
||||||
|
"Movie" -> TvType.AnimeMovie
|
||||||
|
"OVA" -> TvType.OVA
|
||||||
|
else -> TvType.Anime
|
||||||
|
}
|
||||||
|
val dub = when (anime.language) {
|
||||||
|
"it" -> true
|
||||||
|
else -> false
|
||||||
|
}
|
||||||
|
newAnimeSearchResponse(anime.name, anime.link, type) {
|
||||||
|
addDubStatus(dub)
|
||||||
|
this.otherName = anime.otherTitle
|
||||||
|
this.posterUrl = anime.image
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
override suspend fun search(query: String): List<SearchResponse> {
|
override suspend fun search(query: String): List<SearchResponse> {
|
||||||
val document = request("$mainUrl/search?keyword=$query").document
|
val document = request("$mainUrl/search?keyword=$query").document
|
||||||
return document.select(".film-list > .item").map {
|
return document.select(".film-list > .item").map {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 1
|
version = 2
|
||||||
|
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 1
|
version = 2
|
||||||
|
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 1
|
version = 2
|
||||||
|
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 1
|
version = 2
|
||||||
|
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 2
|
version = 3
|
||||||
|
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 2
|
version = 3
|
||||||
|
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 1
|
version = 2
|
||||||
|
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 1
|
version = 2
|
||||||
|
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue