From 47740636efd4c611ab42ff09461be7d837c945f1 Mon Sep 17 00:00:00 2001 From: Rolando Lecca <90949336+bapeey@users.noreply.github.com> Date: Mon, 31 Jul 2023 03:42:41 -0500 Subject: [PATCH] feat(es/hentaila): Add video servers, filters and new extractor (#1985) --- lib/burstcloud-extractor/build.gradle.kts | 18 ++ .../BurstCloudExtractor.kt | 40 +++ .../BurstCloudExtractorDto.kt | 13 + src/es/hentaila/build.gradle | 10 +- .../animeextension/es/hentaila/Hentaila.kt | 274 +++++++++++------- .../animeextension/es/hentaila/HentailaDto.kt | 11 + 6 files changed, 263 insertions(+), 103 deletions(-) create mode 100644 lib/burstcloud-extractor/build.gradle.kts create mode 100644 lib/burstcloud-extractor/src/main/java/eu/kanade/tachiyomi/lib/burstcloudextractor/BurstCloudExtractor.kt create mode 100644 lib/burstcloud-extractor/src/main/java/eu/kanade/tachiyomi/lib/burstcloudextractor/BurstCloudExtractorDto.kt create mode 100644 src/es/hentaila/src/eu/kanade/tachiyomi/animeextension/es/hentaila/HentailaDto.kt diff --git a/lib/burstcloud-extractor/build.gradle.kts b/lib/burstcloud-extractor/build.gradle.kts new file mode 100644 index 000000000..a4b25bee3 --- /dev/null +++ b/lib/burstcloud-extractor/build.gradle.kts @@ -0,0 +1,18 @@ +plugins { + id("com.android.library") + id("kotlinx-serialization") + kotlin("android") +} + +android { + compileSdk = AndroidConfig.compileSdk + namespace = "eu.kanade.tachiyomi.lib.burstcloudextractor" + + defaultConfig { + minSdk = AndroidConfig.minSdk + } +} + +dependencies { + compileOnly(libs.bundles.common) +} diff --git a/lib/burstcloud-extractor/src/main/java/eu/kanade/tachiyomi/lib/burstcloudextractor/BurstCloudExtractor.kt b/lib/burstcloud-extractor/src/main/java/eu/kanade/tachiyomi/lib/burstcloudextractor/BurstCloudExtractor.kt new file mode 100644 index 000000000..0025be0ca --- /dev/null +++ b/lib/burstcloud-extractor/src/main/java/eu/kanade/tachiyomi/lib/burstcloudextractor/BurstCloudExtractor.kt @@ -0,0 +1,40 @@ +package eu.kanade.tachiyomi.lib.burstcloudextractor + +import eu.kanade.tachiyomi.animesource.model.Video +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.POST +import eu.kanade.tachiyomi.util.asJsoup +import kotlinx.serialization.json.Json +import okhttp3.FormBody +import okhttp3.Headers +import okhttp3.OkHttpClient +import uy.kohesive.injekt.injectLazy + +class BurstCloudExtractor(private val client: OkHttpClient) { + + private val json: Json by injectLazy() + + fun videoFromUrl(url: String, headers: Headers, name: String = "BurstCloud", prefix: String = ""): List