From fa8fc96ab65104943a1073b0c3cde64432d5e987 Mon Sep 17 00:00:00 2001 From: hexated Date: Sat, 18 Mar 2023 01:18:50 +0700 Subject: [PATCH] loklok: fix search --- Loklok/build.gradle.kts | 2 +- Loklok/src/main/kotlin/com/hexated/Loklok.kt | 56 ++++++++++--------- .../src/main/kotlin/com/hexated/SoraUtils.kt | 6 +- 3 files changed, 34 insertions(+), 30 deletions(-) diff --git a/Loklok/build.gradle.kts b/Loklok/build.gradle.kts index a71a7f57..611925f8 100644 --- a/Loklok/build.gradle.kts +++ b/Loklok/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 20 +version = 21 cloudstream { diff --git a/Loklok/src/main/kotlin/com/hexated/Loklok.kt b/Loklok/src/main/kotlin/com/hexated/Loklok.kt index 8cb3fb5e..8e775086 100644 --- a/Loklok/src/main/kotlin/com/hexated/Loklok.kt +++ b/Loklok/src/main/kotlin/com/hexated/Loklok.kt @@ -96,34 +96,36 @@ class Loklok : MainAPI() { } } - override suspend fun search(query: String): List { - val res = app.get( - "$searchApi/search?keyword=$query", - ).document + override suspend fun search(query: String): List? = quickSearch(query) - val script = res.select("script").find { it.data().contains("function(a,b,c,d,e") }?.data() - ?.substringAfter("searchResults:[")?.substringBefore("]}],fetch") - - return res.select("div.search-list div.search-video-card").mapIndexed { num, block -> - val name = block.selectFirst("h2.title")?.text() - val data = block.selectFirst("a")?.attr("href")?.split("/") - val id = data?.last() - val type = data?.get(2)?.toInt() - val image = Regex("coverVerticalUrl:\"(.*?)\",").findAll(script.toString()) - .map { it.groupValues[1] }.toList().getOrNull(num)?.replace("\\u002F", "/") - - - newMovieSearchResponse( - "$name", - UrlData(id, type).toJson(), - TvType.Movie, - ) { - this.posterUrl = image - } - - } - - } +// override suspend fun search(query: String): List { +// val res = app.get( +// "$searchApi/search?keyword=$query", +// ).document +// +// val script = res.select("script").find { it.data().contains("function(a,b,c,d,e") }?.data() +// ?.substringAfter("searchResults:[")?.substringBefore("]}],fetch") +// +// return res.select("div.search-list div.search-video-card").mapIndexed { num, block -> +// val name = block.selectFirst("h2.title")?.text() +// val data = block.selectFirst("a")?.attr("href")?.split("/") +// val id = data?.last() +// val type = data?.get(2)?.toInt() +// val image = Regex("coverVerticalUrl:\"(.*?)\",").findAll(script.toString()) +// .map { it.groupValues[1] }.toList().getOrNull(num)?.replace("\\u002F", "/") +// +// +// newMovieSearchResponse( +// "$name", +// UrlData(id, type).toJson(), +// TvType.Movie, +// ) { +// this.posterUrl = image +// } +// +// } +// +// } override suspend fun load(url: String): LoadResponse? { val data = parseJson(url) diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt b/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt index b2004bcc..c9a9b64b 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt @@ -490,8 +490,10 @@ suspend fun getSoraIdAndType(title: String?, year: Int?, season: Int?) : Pair