diff --git a/lib/streamwish-extractor/build.gradle.kts b/lib/streamwish-extractor/build.gradle.kts new file mode 100644 index 000000000..c137548e9 --- /dev/null +++ b/lib/streamwish-extractor/build.gradle.kts @@ -0,0 +1,21 @@ +plugins { + id("com.android.library") + kotlin("android") +} + +android { + compileSdk = AndroidConfig.compileSdk + namespace = "eu.kanade.tachiyomi.lib.streamwishextractor" + + defaultConfig { + minSdk = AndroidConfig.minSdk + } +} + +dependencies { + implementation("dev.datlag.jsunpacker:jsunpacker:1.0.1") { + exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-jdk8") + } + implementation(project(":lib-playlist-utils")) + compileOnly(libs.bundles.common) +} diff --git a/lib/streamwish-extractor/src/main/java/eu/kanade/tachiyomi/lib/streamwishextractor/StreamWishExtractor.kt b/lib/streamwish-extractor/src/main/java/eu/kanade/tachiyomi/lib/streamwishextractor/StreamWishExtractor.kt new file mode 100644 index 000000000..f182976c1 --- /dev/null +++ b/lib/streamwish-extractor/src/main/java/eu/kanade/tachiyomi/lib/streamwishextractor/StreamWishExtractor.kt @@ -0,0 +1,36 @@ +package eu.kanade.tachiyomi.lib.streamwishextractor + +import dev.datlag.jsunpacker.JsUnpacker +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 okhttp3.Headers +import okhttp3.OkHttpClient + +class StreamWishExtractor(private val client: OkHttpClient, private val headers: Headers) { + private val playlistUtils by lazy { PlaylistUtils(client, headers) } + + fun videosFromUrl(url: String, prefix: String) = videosFromUrl(url) { "$prefix - $it" } + + fun videosFromUrl(url: String, videoNameGen: (String) -> String = { quality -> "StreamWish - $quality" }): List