Convert VoeExtractor to shared lib (#955)

This commit is contained in:
Claudemirovsky 2022-10-20 16:06:46 -03:00 committed by GitHub
parent 6ee7153b74
commit 8ffca9ddcc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,25 @@
plugins {
id("com.android.library")
kotlin("android")
}
android {
compileSdk = AndroidConfig.compileSdk
defaultConfig {
minSdk = AndroidConfig.minSdk
targetSdk = AndroidConfig.targetSdk
}
}
repositories {
mavenCentral()
}
dependencies {
compileOnly(libs.kotlin.stdlib)
compileOnly(libs.okhttp)
compileOnly(libs.aniyomi.lib)
compileOnly(libs.jsoup)
}
// BUMPS: 0

View File

@ -0,0 +1,2 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="eu.kanade.tachiyomi.lib.voeextractor" />

View File

@ -0,0 +1,21 @@
package eu.kanade.tachiyomi.lib.voeextractor
import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import okhttp3.OkHttpClient
class VoeExtractor(private val client: OkHttpClient) {
fun videoFromUrl(url: String, quality: String? = null): Video? {
val document = client.newCall(GET(url)).execute().asJsoup()
val script = document.selectFirst("script:containsData(const sources)")
?.data()
?: return null
val videoUrl = script.substringAfter("hls\": \"").substringBefore("\"")
val resolution = script.substringAfter("video_height\": ")
.substringBefore(",")
val qualityStr = quality ?: "VoeCDN(${resolution}p)"
return Video(url, qualityStr, videoUrl)
}
}