Compare commits

..

5 Commits

Author SHA1 Message Date
RowdyRushya ba42d01302
Merge ce3359c0fa into e6b9d621f9 2024-04-25 00:59:17 +00:00
RowdyRushya ce3359c0fa
silly change 2024-04-24 17:59:15 -07:00
RowdyRushya 30839e3a09
Merge branch 'recloudstream:master' into master 2024-04-24 17:56:49 -07:00
RowdyRushya c363596d4f
Including series name in episode data.
This data is passed to loadLinks but name is not included in TvSeriesLoadResponse which is crucial as not all sites support filtering using ids and name is required.
2024-04-24 17:56:16 -07:00
RowdyRushya dc8ba3399c
Learned and understood what is flattening the code. 2024-04-24 17:49:00 -07:00
2 changed files with 12 additions and 11 deletions

View File

@ -22,17 +22,15 @@ class VidSrcTo : ExtractorApi() {
subtitleCallback: (SubtitleFile) -> Unit, subtitleCallback: (SubtitleFile) -> Unit,
callback: (ExtractorLink) -> Unit callback: (ExtractorLink) -> Unit
) { ) {
app.get(url).document.selectFirst("ul.episodes li a")?.attr("data-id")?.let { mediaId -> val mediaId = app.get(url).document.selectFirst("ul.episodes li a")?.attr("data-id") ?: return
val res = app.get("$mainUrl/ajax/embed/episode/$mediaId/sources").parsedSafe<VidsrctoEpisodeSources>() val res = app.get("$mainUrl/ajax/embed/episode/$mediaId/sources").parsedSafe<VidsrctoEpisodeSources>() ?: return
if (res?.status == 200) { 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>() val embedRes = app.get("$mainUrl/ajax/embed/source/${source.id}").parsedSafe<VidsrctoEmbedSource>() ?: return@amap
val finalUrl = DecryptUrl(embedRes?.result?.encUrl ?: "") val finalUrl = DecryptUrl(embedRes?.result?.encUrl)
when (source.title) { when (source.title) {
"Vidplay" -> AnyVidplay(finalUrl.substringBefore("/e/")).getUrl(finalUrl, referer, subtitleCallback, callback) "Vidplay" -> AnyVidplay(finalUrl.substringBefore("/e/")).getUrl(finalUrl, referer, subtitleCallback, callback)
"Filemoon" -> FileMoon().getUrl(finalUrl, referer, subtitleCallback, callback) "Filemoon" -> FileMoon().getUrl(finalUrl, referer, subtitleCallback, callback)
}
}
} }
} }
} }
@ -46,6 +44,7 @@ class VidSrcTo : ExtractorApi() {
data = cipher.doFinal(data) data = cipher.doFinal(data)
return URLDecoder.decode(data.toString(Charsets.UTF_8), "utf-8") return URLDecoder.decode(data.toString(Charsets.UTF_8), "utf-8")
} }
data class VidsrctoEpisodeSources( data class VidsrctoEpisodeSources(
@JsonProperty("status") val status: Int, @JsonProperty("status") val status: Int,
@JsonProperty("result") val result: List<VidsrctoResult>? @JsonProperty("result") val result: List<VidsrctoResult>?

View File

@ -105,6 +105,7 @@ open class TmdbProvider : MainAPI() {
this.id, this.id,
episode.episode_number, episode.episode_number,
episode.season_number, episode.season_number,
this.name ?: this.original_name,
).toJson(), ).toJson(),
episode.name, episode.name,
episode.season_number, episode.season_number,
@ -122,6 +123,7 @@ open class TmdbProvider : MainAPI() {
this.id, this.id,
episodeNum, episodeNum,
season.season_number, season.season_number,
this.name ?: this.original_name,
).toJson(), ).toJson(),
season = season.season_number season = season.season_number
) )