Convert YourUploadExtractor to lib (#1333)
This commit is contained in:
26
lib/yourupload-extractor/build.gradle.kts
Normal file
26
lib/yourupload-extractor/build.gradle.kts
Normal file
@ -0,0 +1,26 @@
|
||||
plugins {
|
||||
id("com.android.library")
|
||||
kotlin("android")
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdk = AndroidConfig.compileSdk
|
||||
namespace = "eu.kanade.tachiyomi.lib.youruploadextractor"
|
||||
|
||||
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
|
@ -0,0 +1,25 @@
|
||||
package eu.kanade.tachiyomi.lib.youruploadextractor
|
||||
|
||||
import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
|
||||
class YourUploadExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, headers: Headers, name: String = "YourUpload", prefix: String = ""): List<Video> {
|
||||
val newHeaders = headers.newBuilder().add("referer", "https://www.yourupload.com/").build()
|
||||
return runCatching {
|
||||
val request = client.newCall(GET(url, headers = newHeaders)).execute()
|
||||
val document = request.asJsoup()
|
||||
val baseData = document.selectFirst("script:containsData(jwplayerOptions)")!!.data()
|
||||
if (!baseData.isNullOrEmpty()) {
|
||||
val basicUrl = baseData.substringAfter("file: '").substringBefore("',")
|
||||
val quality = prefix + name
|
||||
listOf(Video(basicUrl, quality, basicUrl, headers = newHeaders))
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}.getOrNull() ?: emptyList<Video>()
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user