From 2bc506603b3e84a6bfc3cf57d2e923fe898236e8 Mon Sep 17 00:00:00 2001 From: CakesTwix Date: Thu, 16 Feb 2023 10:57:15 +0200 Subject: [PATCH] uakino: hotfix films parse --- .../kotlin/com/lagradost/UakinoProvider.kt | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/UakinoProvider/src/main/kotlin/com/lagradost/UakinoProvider.kt b/UakinoProvider/src/main/kotlin/com/lagradost/UakinoProvider.kt index 681ad11..e595f23 100644 --- a/UakinoProvider/src/main/kotlin/com/lagradost/UakinoProvider.kt +++ b/UakinoProvider/src/main/kotlin/com/lagradost/UakinoProvider.kt @@ -1,5 +1,6 @@ package com.lagradost +import android.util.Log import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.LoadResponse.Companion.addActors import com.lagradost.cloudstream3.LoadResponse.Companion.addTrailer @@ -103,7 +104,7 @@ class UakinoProvider : MainAPI() { val name = eps.text().trim() // Серія 1 if (href.isNotEmpty()) { Episode( - "$href,$name", + "$href,$name", // ashdi link, Серія 1 name, ) } else { @@ -142,11 +143,13 @@ class UakinoProvider : MainAPI() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ): Boolean { + Log.d("loadLinks", data) val dataList = data.split(",") - app.get(dataList[0]) // Link - .parsedSafe()?.response.let { - Jsoup.parse(it.toString()).select("div.playlists-videos li:contains(${dataList[1]})").mapNotNull { eps -> + val responseGet = app.get(dataList[0]).parsedSafe() // ajax link + if (responseGet?.success == true){ // Its serial + responseGet?.response?.let { + Jsoup.parse(it).select("div.playlists-videos li:contains(${dataList[1]})").mapNotNull { eps -> val href = eps.attr("data-file") // ashdi val dub = eps.attr("data-voice") // FanWoxUA @@ -165,6 +168,27 @@ class UakinoProvider : MainAPI() { } } } + } else { + // Its maybe film + val document = app.get(data).document + val iframeUrl = document.selectFirst("iframe#pre")?.attr("src") + // Get m3u from player script + if (iframeUrl != null) { + app.get(iframeUrl, referer = "$mainUrl/").document.select("script").map { script -> + if (script.data().contains("var player = new Playerjs({")) { + val m3uLink = script.data().substringAfterLast("file:\"").substringBefore("\",") + + // Add as source + M3u8Helper.generateM3u8( + source = document.selectFirst("h1 span.solototle")?.text()?.trim().toString(), + streamUrl = m3uLink, + referer = "https://ashdi.vip/" + ).forEach(callback) + } + } + } + } + return true }