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