From efaaf044f7199013bad7c12f9bd112a641757cb8 Mon Sep 17 00:00:00 2001 From: Thorodinson1 Date: Sat, 15 Jul 2023 18:41:51 +0530 Subject: [PATCH] streamo upload extractor fix --- .../cloudstream3/extractors/StreamoUpload.kt | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamoUpload.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamoUpload.kt index f6a6bd7e..d9d0445f 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamoUpload.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamoUpload.kt @@ -21,17 +21,26 @@ open class StreamoUpload : ExtractorApi() { override suspend fun getUrl(url: String, referer: String?): List { val sources = mutableListOf() - app.get(url, referer = referer).document.select("script").map { script -> + val response = app.get(url, referer = referer) + val scriptElements = response.document.select("script") + for (script in scriptElements) { if (script.data().contains("eval(function(p,a,c,k,e,d)")) { - val data = - getAndUnpack(script.data()).substringAfter("sources: [") - .substringBefore("],").replace("file", "\"file\"").trim() - tryParseJson(data)?.let { - M3u8Helper.generateM3u8( - name, - it.file, - "$mainUrl/", - ).forEach { m3uData -> sources.add(m3uData) } + val data = getAndUnpack(script.data()) + .substringAfter("sources: [") + .substringBefore("],") + .replace("file", "\"file\"") + .trim() + + tryParseJson>(data)?.let { fileList -> + for (fileData in fileList) { + M3u8Helper.generateM3u8( + name, + fileData.file, + "$mainUrl/" + ).forEach { m3uData -> + sources.add(m3uData) + } + } } } } @@ -39,6 +48,6 @@ open class StreamoUpload : ExtractorApi() { } private data class File( - @JsonProperty("file") val file: String, + @JsonProperty("file") val file: String ) }