feat: Convert VidbomExtractor to shared lib (#1471)

This commit is contained in:
Claudemirovsky
2023-04-06 11:03:32 -03:00
committed by GitHub
parent 23298d6d8a
commit 7a5fc9fa2b
2 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,22 @@
plugins {
id("com.android.library")
kotlin("android")
}
android {
compileSdk = AndroidConfig.compileSdk
namespace = "eu.kanade.tachiyomi.lib.vidbomextractor"
defaultConfig {
minSdk = AndroidConfig.minSdk
targetSdk = AndroidConfig.targetSdk
}
}
dependencies {
compileOnly(libs.kotlin.stdlib)
compileOnly(libs.okhttp)
compileOnly(libs.aniyomi.lib)
compileOnly(libs.jsoup)
}
// BUMPS: 0

View File

@ -0,0 +1,23 @@
package eu.kanade.tachiyomi.lib.vidbomextractor
import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import okhttp3.OkHttpClient
class VidBomExtractor(private val client: OkHttpClient) {
fun videosFromUrl(url: String): List<Video> {
val doc = client.newCall(GET(url)).execute().asJsoup()
val script = doc.selectFirst("script:containsData(sources)")!!
val data = script.data().substringAfter("sources: [").substringBefore("],")
return data.split("file:\"").drop(1).map { source ->
val src = source.substringBefore("\"")
var quality = "Vidbom: " + source.substringAfter("label:\"").substringBefore("\"")
if (quality.length > 15) {
quality = "Vidshare: 480p"
}
Video(src, quality, src)
}
}
}