exts: Addded hasQuickSearch feature
All checks were successful
Build / build (push) Successful in 1m17s

This commit is contained in:
CakesTwix 2025-03-06 13:52:32 +02:00
parent aec0fb49eb
commit 4038dbd50c
Signed by: CakesTwix
GPG key ID: 7B11051D5CE19825
27 changed files with 55 additions and 14 deletions

View file

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 7
version = 8
dependencies {
implementation(libs.gson)

View file

@ -42,6 +42,7 @@ class AnimeONProvider : MainAPI() {
override var name = "AnimeON"
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes =
setOf(
@ -98,6 +99,8 @@ class AnimeONProvider : MainAPI() {
}
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
val animeJSON =
Gson().fromJson(app.get(searchApi.format(query)).text, SearchModel::class.java)

View file

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 11
version = 12
dependencies {
testImplementation(libs.junit)

View file

@ -22,6 +22,7 @@ class AnitubeinuaProvider : MainAPI() {
override var name = "Anitubeinua Beta"
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes =
setOf(
@ -64,6 +65,8 @@ class AnitubeinuaProvider : MainAPI() {
}
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
val document =
app.post(

View file

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 5
version = 6
dependencies {
implementation(libs.gson)

View file

@ -30,6 +30,7 @@ class BambooUAProvider : MainAPI() {
override var name = "BambooUA"
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes = setOf(
TvType.Anime,
@ -91,6 +92,8 @@ class BambooUAProvider : MainAPI() {
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
val document = app.post(
url = mainUrl,

View file

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 1
version = 2
dependencies {
testImplementation(libs.junit)

View file

@ -27,6 +27,7 @@ class CikavaIdeyaProvider : MainAPI() {
override var name = "Цікава Ідея"
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes = setOf(
TvType.Movie,
@ -77,6 +78,8 @@ class CikavaIdeyaProvider : MainAPI() {
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
val document =
app.post(

View file

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 3
version = 4
dependencies {
implementation(libs.gson)

View file

@ -27,6 +27,7 @@ class HentaiUkrProvider : MainAPI() {
override var name = "HentaiUkr 18+"
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes = setOf(
TvType.NSFW,
@ -60,6 +61,8 @@ class HentaiUkrProvider : MainAPI() {
return newHomePageResponse(request.name, homeList)
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
val document = app.get(objectsUrl).text
val hentai = mutableListOf<SearchResponse>()

View file

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 7
version = 8
dependencies {
testImplementation(libs.junit)

View file

@ -28,6 +28,7 @@ class KinoTronProvider : MainAPI() {
override var name = "KinoTron"
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes = setOf(
TvType.Movie,
@ -69,6 +70,8 @@ class KinoTronProvider : MainAPI() {
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
val document = app.post(
url = "$mainUrl/index.php?do=search",

View file

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 7
version = 8
dependencies {
testImplementation(libs.junit)

View file

@ -17,6 +17,7 @@ class KlonTVProvider : MainAPI() {
override var name = "KlonTV"
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes = setOf(
TvType.Anime,
@ -73,6 +74,8 @@ class KlonTVProvider : MainAPI() {
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
val document = app.post(
url = mainUrl,

View file

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 4
version = 5
dependencies {
implementation(libs.gson)

View file

@ -34,6 +34,7 @@ class TeleportalProvider : MainAPI() {
override var name = "Teleportal"
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes = setOf(
TvType.TvSeries,
@ -79,6 +80,8 @@ class TeleportalProvider : MainAPI() {
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
return Gson().fromJson<List<Search>>(app.get("$findUrl$query").text, listSearch).map{
newAnimeSearchResponse(it.title, "$apiUrl/ua/${it.typeSlug}/${it.channelSlug}/${it.projectSlug}", TvType.TvSeries) {

View file

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 5
version = 6
dependencies {
implementation(libs.gson)

View file

@ -35,6 +35,7 @@ class UAFlixProvider : MainAPI() {
override var name = "UAFlix"
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes = setOf(
TvType.TvSeries,
@ -94,6 +95,8 @@ class UAFlixProvider : MainAPI() {
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
val document = app.get(
url = "$mainUrl/index.php?do=search&subaction=search&search_start=1&story=$query",

View file

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 11
version = 12
dependencies {
implementation(libs.gson)

View file

@ -17,6 +17,7 @@ open class UASerialProvider(url: String, name: String) : MainAPI() {
override var name = name
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes = setOf(
TvType.TvSeries,
@ -53,6 +54,8 @@ open class UASerialProvider(url: String, name: String) : MainAPI() {
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
val searchResult = app.get(
url = "$mainUrl/search-ajax?query=$query",

View file

@ -42,6 +42,7 @@ class UASerialsProProvider : MainAPI() {
override var name = "UASerialsPro"
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes = setOf(
TvType.TvSeries,
@ -103,6 +104,8 @@ class UASerialsProProvider : MainAPI() {
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
val document = app.post(
url = mainUrl,

View file

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 5
version = 6
dependencies {
testImplementation(libs.junit)

View file

@ -1,6 +1,5 @@
package com.lagradost
import android.net.Uri
import com.lagradost.cloudstream3.*
import com.lagradost.cloudstream3.utils.ExtractorLink
import com.lagradost.cloudstream3.utils.Qualities
@ -14,6 +13,7 @@ class UFDubProvider : MainAPI() {
override var name = "UFDub"
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes = setOf(
TvType.AnimeMovie,
@ -59,6 +59,8 @@ class UFDubProvider : MainAPI() {
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
val document = app.post(
url = "$mainUrl/index.php?do=search",

View file

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 11
version = 12
dependencies {
testImplementation(libs.junit)

View file

@ -16,6 +16,7 @@ class UakinoProvider : MainAPI() {
override var name = "Uakino"
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes = setOf(TvType.Movie, TvType.TvSeries, TvType.Anime)
@ -66,6 +67,8 @@ class UakinoProvider : MainAPI() {
}
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
val document =
app.post(

View file

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 10
version = 11
dependencies {
implementation(libs.gson)

View file

@ -33,6 +33,7 @@ class UnimayProvider : MainAPI() {
override var name = "Unimay"
override val hasMainPage = true
override var lang = "uk"
override val hasQuickSearch = true
override val hasDownloadSupport = true
override val supportedTypes = setOf(
TvType.Anime,
@ -77,6 +78,8 @@ class UnimayProvider : MainAPI() {
return newHomePageResponse(request.name, homeList)
}
override suspend fun quickSearch(query: String): List<SearchResponse> = search(query)
override suspend fun search(query: String): List<SearchResponse> {
return Gson().fromJson(app.get("$findUrl$query&page=0").text, SearchModel::class.java).content.map{
newAnimeSearchResponse(it.names.ukr, "$apiUrl/v1/release?code=${it.code}", TvType.Anime) {