From 218079d218f26fa8f30117de43587be27168bd14 Mon Sep 17 00:00:00 2001 From: Secozzi <49240133+Secozzi@users.noreply.github.com> Date: Wed, 1 May 2024 20:28:32 +0000 Subject: [PATCH] feat(all/hikari): Replace streamwish with vidhide (#3208) --- lib/vidhide-extractor/build.gradle.kts | 7 ++ .../lib/vidhideextractor/VidHideExtractor.kt | 64 +++++++++++++++++++ src/all/hikari/build.gradle | 4 +- .../animeextension/all/hikari/Hikari.kt | 60 +++++++++++++++-- 4 files changed, 129 insertions(+), 6 deletions(-) create mode 100644 lib/vidhide-extractor/build.gradle.kts create mode 100644 lib/vidhide-extractor/src/main/java/eu/kanade/tachiyomi/lib/vidhideextractor/VidHideExtractor.kt diff --git a/lib/vidhide-extractor/build.gradle.kts b/lib/vidhide-extractor/build.gradle.kts new file mode 100644 index 000000000..d31dd9ff6 --- /dev/null +++ b/lib/vidhide-extractor/build.gradle.kts @@ -0,0 +1,7 @@ +plugins { + id("lib-android") +} + +dependencies { + implementation(project(":lib:playlist-utils")) +} diff --git a/lib/vidhide-extractor/src/main/java/eu/kanade/tachiyomi/lib/vidhideextractor/VidHideExtractor.kt b/lib/vidhide-extractor/src/main/java/eu/kanade/tachiyomi/lib/vidhideextractor/VidHideExtractor.kt new file mode 100644 index 000000000..0d106f9aa --- /dev/null +++ b/lib/vidhide-extractor/src/main/java/eu/kanade/tachiyomi/lib/vidhideextractor/VidHideExtractor.kt @@ -0,0 +1,64 @@ +package eu.kanade.tachiyomi.lib.vidhideextractor + +import eu.kanade.tachiyomi.animesource.model.Track +import eu.kanade.tachiyomi.animesource.model.Video +import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.util.asJsoup +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerializationException +import kotlinx.serialization.json.Json +import okhttp3.Headers +import okhttp3.OkHttpClient + +class VidHideExtractor(private val client: OkHttpClient, private val headers: Headers) { + + private val playlistUtils by lazy { PlaylistUtils(client, headers) } + + val json = Json { + isLenient = true + ignoreUnknownKeys = true + } + + fun videosFromUrl(url: String, videoNameGen: (String) -> String = { quality -> "VidHide - $quality" }): List