Extractor: VidSrcTo: better handling of runtime errors (#1121)

This commit is contained in:
RowdyRushya 2024-06-08 12:19:29 -07:00 committed by GitHub
parent 607a4510b6
commit 3345326cb2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty
import com.lagradost.cloudstream3.SubtitleFile import com.lagradost.cloudstream3.SubtitleFile
import com.lagradost.cloudstream3.amap import com.lagradost.cloudstream3.amap
import com.lagradost.cloudstream3.app import com.lagradost.cloudstream3.app
import com.lagradost.cloudstream3.mvvm.logError
import com.lagradost.cloudstream3.utils.ExtractorApi import com.lagradost.cloudstream3.utils.ExtractorApi
import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.ExtractorLink
import java.net.URLDecoder import java.net.URLDecoder
@ -26,12 +27,16 @@ class VidSrcTo : ExtractorApi() {
val res = app.get("$mainUrl/ajax/embed/episode/$mediaId/sources").parsedSafe<VidsrctoEpisodeSources>() ?: return val res = app.get("$mainUrl/ajax/embed/episode/$mediaId/sources").parsedSafe<VidsrctoEpisodeSources>() ?: return
if (res.status != 200) return if (res.status != 200) return
res.result?.amap { source -> res.result?.amap { source ->
val embedRes = app.get("$mainUrl/ajax/embed/source/${source.id}").parsedSafe<VidsrctoEmbedSource>() ?: return@amap try {
val finalUrl = DecryptUrl(embedRes.result.encUrl) val embedRes = app.get("$mainUrl/ajax/embed/source/${source.id}").parsedSafe<VidsrctoEmbedSource>() ?: return@amap
if(finalUrl.equals(embedRes.result.encUrl)) return@amap val finalUrl = DecryptUrl(embedRes.result.encUrl)
when (source.title) { if(finalUrl.equals(embedRes.result.encUrl)) return@amap
"Vidplay" -> AnyVidplay(finalUrl.substringBefore("/e/")).getUrl(finalUrl, referer, subtitleCallback, callback) when (source.title) {
"Filemoon" -> FileMoon().getUrl(finalUrl, referer, subtitleCallback, callback) "Vidplay" -> AnyVidplay(finalUrl.substringBefore("/e/")).getUrl(finalUrl, referer, subtitleCallback, callback)
"Filemoon" -> FileMoon().getUrl(finalUrl, referer, subtitleCallback, callback)
}
} catch (e: Exception) {
logError(e)
} }
} }
} }