From 66e2d08736fe268f813b5b92cb03411cfa6ae886 Mon Sep 17 00:00:00 2001 From: CakesTwix Date: Fri, 7 Mar 2025 11:24:06 +0200 Subject: [PATCH] exts: Hotfix return@map --- EneyidaProvider/build.gradle.kts | 2 +- .../kotlin/com/lagradost/EneyidaProvider.kt | 38 +++++++++--------- KinoVezhaProvider/build.gradle.kts | 2 +- .../kotlin/com/lagradost/KinoVezhaProvider.kt | 37 ++++++++--------- KlonTVProvider/build.gradle.kts | 2 +- .../kotlin/com/lagradost/KlonTVProvider.kt | 40 +++++++++---------- SerialnoProvider/build.gradle.kts | 2 +- .../kotlin/com/lagradost/SerialnoProvider.kt | 40 +++++++++---------- 8 files changed, 77 insertions(+), 86 deletions(-) diff --git a/EneyidaProvider/build.gradle.kts b/EneyidaProvider/build.gradle.kts index e035194..b529674 100644 --- a/EneyidaProvider/build.gradle.kts +++ b/EneyidaProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 9 +version = 10 dependencies { testImplementation(libs.junit) diff --git a/EneyidaProvider/src/main/kotlin/com/lagradost/EneyidaProvider.kt b/EneyidaProvider/src/main/kotlin/com/lagradost/EneyidaProvider.kt index 883c1c3..c5d3d7f 100644 --- a/EneyidaProvider/src/main/kotlin/com/lagradost/EneyidaProvider.kt +++ b/EneyidaProvider/src/main/kotlin/com/lagradost/EneyidaProvider.kt @@ -4,6 +4,7 @@ import com.lagradost.models.PlayerJson import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.LoadResponse.Companion.addActors import com.lagradost.cloudstream3.LoadResponse.Companion.addTrailer +import com.lagradost.cloudstream3.utils.AppUtils import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.M3u8Helper @@ -182,30 +183,27 @@ class EneyidaProvider : MainAPI() { .substringAfterLast("file: \'") .substringBefore("\',") - tryParseJson>(playerRawJson)?.map { season -> - if(season.title != dataList[0]) return@map + tryParseJson>(playerRawJson) + ?.filter { it.title == dataList[0] } // Фільтруємо потрібний сезон + ?.flatMap { it.folder } // Беремо список епізодів + ?.filter { it.title == dataList[1] } // Фільтруємо потрібний епізод + ?.flatMap { it.folder } // Беремо список дубляжів + ?.forEach { dubs -> // Обробляємо кожен дубляж + M3u8Helper.generateM3u8( + source = dubs.title, + streamUrl = dubs.file, + referer = "https://tortuga.wtf/" + ).last().let(callback) - for (episode in season.folder) { - if(episode.title != dataList[1]) return@map - - for (dubs in episode.folder) { - M3u8Helper.generateM3u8( - source = dubs.title, - streamUrl = dubs.file, - referer = "https://tortuga.wtf/" - ).last().let(callback) - - if(dubs.subtitle.isNullOrBlank()) { - subtitleCallback.invoke( - SubtitleFile( - dubs.subtitle.substringAfterLast("[").substringBefore("]"), - dubs.subtitle.substringAfter("]") - ) + if (!dubs.subtitle.isNullOrBlank()) { + subtitleCallback.invoke( + SubtitleFile( + dubs.subtitle.substringAfterLast("[").substringBefore("]"), + dubs.subtitle.substringAfter("]") ) - } + ) } } - } return true } diff --git a/KinoVezhaProvider/build.gradle.kts b/KinoVezhaProvider/build.gradle.kts index 9da7293..e2ddafc 100644 --- a/KinoVezhaProvider/build.gradle.kts +++ b/KinoVezhaProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 6 +version = 7 dependencies { testImplementation(libs.junit) diff --git a/KinoVezhaProvider/src/main/kotlin/com/lagradost/KinoVezhaProvider.kt b/KinoVezhaProvider/src/main/kotlin/com/lagradost/KinoVezhaProvider.kt index 3d76a37..92b2d49 100644 --- a/KinoVezhaProvider/src/main/kotlin/com/lagradost/KinoVezhaProvider.kt +++ b/KinoVezhaProvider/src/main/kotlin/com/lagradost/KinoVezhaProvider.kt @@ -159,30 +159,27 @@ class KinoVezhaProvider : MainAPI() { .substringAfterLast("file: \'") .substringBefore("\',") - AppUtils.tryParseJson>(playerRawJson)?.map { season -> - if(season.title != dataList[0]) return@map + AppUtils.tryParseJson>(playerRawJson) + ?.filter { it.title == dataList[0] } // Фільтруємо потрібний сезон + ?.flatMap { it.folder } // Беремо список епізодів + ?.filter { it.title == dataList[1] } // Фільтруємо потрібний епізод + ?.flatMap { it.folder } // Беремо список дубляжів + ?.forEach { dubs -> // Обробляємо кожен дубляж + M3u8Helper.generateM3u8( + source = dubs.title, + streamUrl = dubs.file, + referer = "https://tortuga.wtf/" + ).last().let(callback) - for (episode in season.folder) { - if(episode.title != dataList[1]) return@map - - for (dubs in episode.folder) { - M3u8Helper.generateM3u8( - source = dubs.title, - streamUrl = dubs.file, - referer = "https://tortuga.wtf/" - ).last().let(callback) - - if(dubs.subtitle.isNullOrBlank()) { - subtitleCallback.invoke( - SubtitleFile( - dubs.subtitle.substringAfterLast("[").substringBefore("]"), - dubs.subtitle.substringAfter("]") - ) + if (!dubs.subtitle.isNullOrBlank()) { + subtitleCallback.invoke( + SubtitleFile( + dubs.subtitle.substringAfterLast("[").substringBefore("]"), + dubs.subtitle.substringAfter("]") ) - } + ) } } - } return true } } \ No newline at end of file diff --git a/KlonTVProvider/build.gradle.kts b/KlonTVProvider/build.gradle.kts index 153943c..32bf9af 100644 --- a/KlonTVProvider/build.gradle.kts +++ b/KlonTVProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 8 +version = 9 dependencies { testImplementation(libs.junit) diff --git a/KlonTVProvider/src/main/kotlin/com/lagradost/KlonTVProvider.kt b/KlonTVProvider/src/main/kotlin/com/lagradost/KlonTVProvider.kt index 22ebc60..e0e630c 100644 --- a/KlonTVProvider/src/main/kotlin/com/lagradost/KlonTVProvider.kt +++ b/KlonTVProvider/src/main/kotlin/com/lagradost/KlonTVProvider.kt @@ -3,6 +3,7 @@ package com.lagradost import com.lagradost.models.PlayerJson import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.LoadResponse.Companion.addActors +import com.lagradost.cloudstream3.utils.AppUtils import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.M3u8Helper @@ -211,30 +212,27 @@ class KlonTVProvider : MainAPI() { .substringAfterLast("file:\'") .substringBefore("\',") - tryParseJson>(playerRawJson)?.map { dubs -> // Dubs - for(season in dubs.folder){ // Seasons - if(season.title == dataList[0]){ - for(episode in season.folder){ // Episodes - if(episode.title == dataList[1]){ - // Add as source - M3u8Helper.generateM3u8( - source = dubs.title, - streamUrl = episode.file, - referer = "https://tortuga.wtf/" - ).last().let(callback) + tryParseJson>(playerRawJson) + ?.filter { it.title == dataList[0] } // Фільтруємо потрібний сезон + ?.flatMap { it.folder } // Беремо список епізодів + ?.filter { it.title == dataList[1] } // Фільтруємо потрібний епізод + ?.flatMap { it.folder } // Беремо список дубляжів + ?.forEach { dubs -> // Обробляємо кожен дубляж + M3u8Helper.generateM3u8( + source = dubs.title, + streamUrl = dubs.file, + referer = "https://tortuga.wtf/" + ).last().let(callback) - if(episode.subtitle.isBlank()) return true - subtitleCallback.invoke( - SubtitleFile( - episode.subtitle.substringAfterLast("[").substringBefore("]"), - episode.subtitle.substringAfter("]") - ) - ) - } - } + if (!dubs.subtitle.isNullOrBlank()) { + subtitleCallback.invoke( + SubtitleFile( + dubs.subtitle.substringAfterLast("[").substringBefore("]"), + dubs.subtitle.substringAfter("]") + ) + ) } } - } return true } diff --git a/SerialnoProvider/build.gradle.kts b/SerialnoProvider/build.gradle.kts index 7b528ad..3ae3a81 100644 --- a/SerialnoProvider/build.gradle.kts +++ b/SerialnoProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 7 +version = 8 dependencies { testImplementation(libs.junit) diff --git a/SerialnoProvider/src/main/kotlin/com/lagradost/SerialnoProvider.kt b/SerialnoProvider/src/main/kotlin/com/lagradost/SerialnoProvider.kt index 4a55791..3881d61 100644 --- a/SerialnoProvider/src/main/kotlin/com/lagradost/SerialnoProvider.kt +++ b/SerialnoProvider/src/main/kotlin/com/lagradost/SerialnoProvider.kt @@ -1,5 +1,6 @@ package com.lagradost +import android.util.Log import com.lagradost.cloudstream3.Episode import com.lagradost.cloudstream3.HomePageResponse import com.lagradost.cloudstream3.LoadResponse @@ -151,35 +152,32 @@ class SerialnoProvider : MainAPI() { callback: (ExtractorLink) -> Unit ): Boolean { val dataList = data.split(", ") - + Log.d("CakesTwix-Debug", data) val playerRawJson = app.get(dataList[2]).document.select("script").html() .substringAfterLast("file: \'") .substringBefore("\',") - AppUtils.tryParseJson>(playerRawJson)?.map { season -> - if(season.title != dataList[0]) return@map + AppUtils.tryParseJson>(playerRawJson) + ?.filter { it.title == dataList[0] } // Фільтруємо потрібний сезон + ?.flatMap { it.folder } // Беремо список епізодів + ?.filter { it.title == dataList[1] } // Фільтруємо потрібний епізод + ?.flatMap { it.folder } // Беремо список дубляжів + ?.forEach { dubs -> // Обробляємо кожен дубляж + M3u8Helper.generateM3u8( + source = dubs.title, + streamUrl = dubs.file, + referer = "https://tortuga.wtf/" + ).last().let(callback) - for (episode in season.folder) { - if(episode.title != dataList[1]) return@map - - for (dubs in episode.folder) { - M3u8Helper.generateM3u8( - source = dubs.title, - streamUrl = dubs.file, - referer = "https://tortuga.wtf/" - ).last().let(callback) - - if(dubs.subtitle.isNullOrBlank()) { - subtitleCallback.invoke( - SubtitleFile( - dubs.subtitle.substringAfterLast("[").substringBefore("]"), - dubs.subtitle.substringAfter("]") - ) + if (!dubs.subtitle.isNullOrBlank()) { + subtitleCallback.invoke( + SubtitleFile( + dubs.subtitle.substringAfterLast("[").substringBefore("]"), + dubs.subtitle.substringAfter("]") ) - } + ) } } - } return true } } \ No newline at end of file