From 91b105ab95b4d748696d1f00c8d8a718cf47c861 Mon Sep 17 00:00:00 2001 From: antonydp <38143733+antonydp@users.noreply.github.com> Date: Mon, 3 Oct 2022 15:45:12 +0200 Subject: [PATCH] quicksearch Animeworld --- AltadefinizioneProvider/build.gradle.kts | 2 +- AnimeWorldProvider/build.gradle.kts | 2 +- .../com/lagradost/AnimeWorldProvider.kt | 35 ++++++++++++++++++- CalcioStreamingProvider/build.gradle.kts | 2 +- CineBlogProvider/build.gradle.kts | 2 +- EurostreamingProvider/build.gradle.kts | 2 +- FilmpertuttiProvider/build.gradle.kts | 2 +- .../build.gradle.kts | 2 +- StreamingcommunityProvider/build.gradle.kts | 2 +- TantiFilmProvider/build.gradle.kts | 2 +- TvItalianaProvider/build.gradle.kts | 2 +- 11 files changed, 44 insertions(+), 11 deletions(-) diff --git a/AltadefinizioneProvider/build.gradle.kts b/AltadefinizioneProvider/build.gradle.kts index a3097da..4d19548 100644 --- a/AltadefinizioneProvider/build.gradle.kts +++ b/AltadefinizioneProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 1 +version = 2 cloudstream { diff --git a/AnimeWorldProvider/build.gradle.kts b/AnimeWorldProvider/build.gradle.kts index 35d5f26..231e63b 100644 --- a/AnimeWorldProvider/build.gradle.kts +++ b/AnimeWorldProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 1 +version = 2 cloudstream { diff --git a/AnimeWorldProvider/src/main/kotlin/com/lagradost/AnimeWorldProvider.kt b/AnimeWorldProvider/src/main/kotlin/com/lagradost/AnimeWorldProvider.kt index 3d454cb..58997f8 100644 --- a/AnimeWorldProvider/src/main/kotlin/com/lagradost/AnimeWorldProvider.kt +++ b/AnimeWorldProvider/src/main/kotlin/com/lagradost/AnimeWorldProvider.kt @@ -21,6 +21,7 @@ class AnimeWorldProvider : MainAPI() { override var name = "AnimeWorld" override var lang = "it" override val hasMainPage = true + override val hasQuickSearch = true override val supportedTypes = setOf( TvType.Anime, @@ -30,7 +31,7 @@ class AnimeWorldProvider : MainAPI() { companion object { private var cookies = emptyMap() - + private lateinit var token : String // Disabled authentication as site did private suspend fun request(url: String): NiceResponse { // if (cookies.isEmpty()) { @@ -154,6 +155,38 @@ class AnimeWorldProvider : MainAPI() { return HomePageResponse(list) } + data class searchJson( + @JsonProperty("animes") val animes: List + ) + 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? { + 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(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 { val document = request("$mainUrl/search?keyword=$query").document return document.select(".film-list > .item").map { diff --git a/CalcioStreamingProvider/build.gradle.kts b/CalcioStreamingProvider/build.gradle.kts index 62e5f0b..a729e56 100644 --- a/CalcioStreamingProvider/build.gradle.kts +++ b/CalcioStreamingProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 1 +version = 2 cloudstream { diff --git a/CineBlogProvider/build.gradle.kts b/CineBlogProvider/build.gradle.kts index f4c36d0..ed9e440 100644 --- a/CineBlogProvider/build.gradle.kts +++ b/CineBlogProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 1 +version = 2 cloudstream { diff --git a/EurostreamingProvider/build.gradle.kts b/EurostreamingProvider/build.gradle.kts index 62f8d76..9defcbe 100644 --- a/EurostreamingProvider/build.gradle.kts +++ b/EurostreamingProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 1 +version = 2 cloudstream { diff --git a/FilmpertuttiProvider/build.gradle.kts b/FilmpertuttiProvider/build.gradle.kts index 109d398..49de879 100644 --- a/FilmpertuttiProvider/build.gradle.kts +++ b/FilmpertuttiProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 1 +version = 2 cloudstream { diff --git a/IlGenioDelloStreamingProvider/build.gradle.kts b/IlGenioDelloStreamingProvider/build.gradle.kts index 9e263d9..314240c 100644 --- a/IlGenioDelloStreamingProvider/build.gradle.kts +++ b/IlGenioDelloStreamingProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 2 +version = 3 cloudstream { diff --git a/StreamingcommunityProvider/build.gradle.kts b/StreamingcommunityProvider/build.gradle.kts index 8a31b37..1a8e42d 100644 --- a/StreamingcommunityProvider/build.gradle.kts +++ b/StreamingcommunityProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 2 +version = 3 cloudstream { diff --git a/TantiFilmProvider/build.gradle.kts b/TantiFilmProvider/build.gradle.kts index 8d05d30..ae92e29 100644 --- a/TantiFilmProvider/build.gradle.kts +++ b/TantiFilmProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 1 +version = 2 cloudstream { diff --git a/TvItalianaProvider/build.gradle.kts b/TvItalianaProvider/build.gradle.kts index 187c379..73f173c 100644 --- a/TvItalianaProvider/build.gradle.kts +++ b/TvItalianaProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 1 +version = 2 cloudstream {