mirror of
https://github.com/hexated/cloudstream-extensions-hexated.git
synced 2024-08-15 00:03:22 +00:00
sora: added mMovies & fix oploverz
This commit is contained in:
parent
2d23f05fa0
commit
29c78d2468
10 changed files with 1079 additions and 2486 deletions
|
@ -1,5 +1,5 @@
|
|||
// use an integer for version numbers
|
||||
version = 24
|
||||
version = 25
|
||||
|
||||
|
||||
cloudstream {
|
||||
|
|
|
@ -43,3 +43,38 @@ open class Qiwi : ExtractorApi() {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
open class Mediafire : ExtractorApi() {
|
||||
override val name = "Mediafire"
|
||||
override val mainUrl = "https://www.mediafire.com"
|
||||
override val requiresReferer = true
|
||||
|
||||
override suspend fun getUrl(
|
||||
url: String,
|
||||
referer: String?,
|
||||
subtitleCallback: (SubtitleFile) -> Unit,
|
||||
callback: (ExtractorLink) -> Unit
|
||||
) {
|
||||
val res = app.get(url, referer = referer).document
|
||||
val title = res.select("div.dl-btn-label").text()
|
||||
val video = res.selectFirst("a#downloadButton")?.attr("href")
|
||||
|
||||
callback.invoke(
|
||||
ExtractorLink(
|
||||
this.name,
|
||||
this.name,
|
||||
video ?: return,
|
||||
"",
|
||||
getQuality(title),
|
||||
INFER_TYPE
|
||||
)
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
private fun getQuality(str: String?): Int {
|
||||
return Regex("(\\d{3,4})[pP]").find(str ?: "")?.groupValues?.getOrNull(1)?.toIntOrNull()
|
||||
?: Qualities.Unknown.value
|
||||
}
|
||||
|
||||
}
|
|
@ -7,7 +7,7 @@ import com.lagradost.cloudstream3.utils.*
|
|||
import org.jsoup.nodes.Element
|
||||
|
||||
class OploverzProvider : MainAPI() {
|
||||
override var mainUrl = "https://oploverz.red"
|
||||
override var mainUrl = "https://oploverz.life"
|
||||
override var name = "Oploverz"
|
||||
override val hasMainPage = true
|
||||
override var lang = "id"
|
||||
|
|
|
@ -11,5 +11,6 @@ class OploverzProviderPlugin: Plugin() {
|
|||
// All providers should be added in this manner. Please don't edit the providers list directly.
|
||||
registerMainAPI(OploverzProvider())
|
||||
registerExtractorAPI(Qiwi())
|
||||
registerExtractorAPI(Mediafire())
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
import org.jetbrains.kotlin.konan.properties.Properties
|
||||
|
||||
// use an integer for version numbers
|
||||
version = 211
|
||||
version = 212
|
||||
|
||||
android {
|
||||
defaultConfig {
|
||||
|
|
|
@ -339,13 +339,7 @@ open class Netembed : ExtractorApi() {
|
|||
val script = getAndUnpack(response.text)
|
||||
val m3u8 = Regex("((https:|http:)//.*\\.m3u8)").find(script)?.groupValues?.getOrNull(1) ?: return
|
||||
|
||||
if (!m3u8.startsWith("https://www.febbox.com")) {
|
||||
M3u8Helper.generateM3u8(
|
||||
this.name,
|
||||
m3u8,
|
||||
"$mainUrl/",
|
||||
).forEach(callback)
|
||||
}
|
||||
M3u8Helper.generateM3u8(this.name, m3u8, "$mainUrl/", ).forEach(callback)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -11,209 +11,185 @@ data class CrunchyrollAccessToken(
|
|||
val key_pair_id: String? = null,
|
||||
)
|
||||
|
||||
data class ShowboxMedia(
|
||||
val url: String,
|
||||
val title: String,
|
||||
val infor: String,
|
||||
val type: String,
|
||||
)
|
||||
data class FDMovieIFrame(
|
||||
val link: String,
|
||||
val quality: String,
|
||||
val size: String,
|
||||
val type: String,
|
||||
val link: String,
|
||||
val quality: String,
|
||||
val size: String,
|
||||
val type: String,
|
||||
)
|
||||
|
||||
data class AniIds(
|
||||
var id: Int? = null,
|
||||
var idMal: Int? = null
|
||||
)
|
||||
data class AniIds(var id: Int? = null, var idMal: Int? = null)
|
||||
|
||||
data class TmdbDate(
|
||||
val today: String,
|
||||
val nextWeek: String,
|
||||
val today: String,
|
||||
val nextWeek: String,
|
||||
)
|
||||
|
||||
data class AniMedia(
|
||||
@JsonProperty("id") var id: Int? = null,
|
||||
@JsonProperty("idMal") var idMal: Int? = null
|
||||
)
|
||||
data class AniMedia(@JsonProperty("id") var id: Int? = null, @JsonProperty("idMal") var idMal: Int? = null)
|
||||
|
||||
data class AniPage(
|
||||
@JsonProperty("media") var media: java.util.ArrayList<AniMedia> = arrayListOf()
|
||||
)
|
||||
data class AniPage(@JsonProperty("media") var media: java.util.ArrayList<AniMedia> = arrayListOf())
|
||||
|
||||
data class AniData(
|
||||
@JsonProperty("Page") var Page: AniPage? = AniPage()
|
||||
)
|
||||
data class AniData(@JsonProperty("Page") var Page: AniPage? = AniPage())
|
||||
|
||||
data class AniSearch(
|
||||
@JsonProperty("data") var data: AniData? = AniData()
|
||||
)
|
||||
data class AniSearch(@JsonProperty("data") var data: AniData? = AniData())
|
||||
|
||||
data class GpressSources(
|
||||
@JsonProperty("src") val src: String,
|
||||
@JsonProperty("file") val file: String? = null,
|
||||
@JsonProperty("label") val label: Int? = null,
|
||||
@JsonProperty("max") val max: String,
|
||||
@JsonProperty("src") val src: String,
|
||||
@JsonProperty("file") val file: String? = null,
|
||||
@JsonProperty("label") val label: Int? = null,
|
||||
@JsonProperty("max") val max: String,
|
||||
)
|
||||
|
||||
data class UHDBackupUrl(
|
||||
@JsonProperty("url") val url: String? = null,
|
||||
@JsonProperty("url") val url: String? = null,
|
||||
)
|
||||
|
||||
data class ResponseHash(
|
||||
@JsonProperty("embed_url") val embed_url: String,
|
||||
@JsonProperty("key") val key: String? = null,
|
||||
@JsonProperty("type") val type: String? = null,
|
||||
@JsonProperty("embed_url") val embed_url: String,
|
||||
@JsonProperty("key") val key: String? = null,
|
||||
@JsonProperty("type") val type: String? = null,
|
||||
)
|
||||
|
||||
data class KisskhSources(
|
||||
@JsonProperty("Video") val video: String?,
|
||||
@JsonProperty("ThirdParty") val thirdParty: String?,
|
||||
@JsonProperty("Video") val video: String?,
|
||||
@JsonProperty("ThirdParty") val thirdParty: String?,
|
||||
)
|
||||
|
||||
data class KisskhSubtitle(
|
||||
@JsonProperty("src") val src: String?,
|
||||
@JsonProperty("label") val label: String?,
|
||||
@JsonProperty("src") val src: String?,
|
||||
@JsonProperty("label") val label: String?,
|
||||
)
|
||||
|
||||
data class KisskhEpisodes(
|
||||
@JsonProperty("id") val id: Int?,
|
||||
@JsonProperty("number") val number: Int?,
|
||||
@JsonProperty("id") val id: Int?,
|
||||
@JsonProperty("number") val number: Int?,
|
||||
)
|
||||
|
||||
data class KisskhDetail(
|
||||
@JsonProperty("episodes") val episodes: ArrayList<KisskhEpisodes>? = arrayListOf(),
|
||||
@JsonProperty("episodes") val episodes: ArrayList<KisskhEpisodes>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class KisskhResults(
|
||||
@JsonProperty("id") val id: Int?,
|
||||
@JsonProperty("title") val title: String?,
|
||||
@JsonProperty("id") val id: Int?,
|
||||
@JsonProperty("title") val title: String?,
|
||||
)
|
||||
|
||||
data class DriveBotLink(
|
||||
@JsonProperty("url") val url: String? = null,
|
||||
@JsonProperty("url") val url: String? = null,
|
||||
)
|
||||
|
||||
data class DirectDl(
|
||||
@JsonProperty("download_url") val download_url: String? = null,
|
||||
@JsonProperty("download_url") val download_url: String? = null,
|
||||
)
|
||||
|
||||
data class Safelink(
|
||||
@JsonProperty("safelink") val safelink: String? = null,
|
||||
@JsonProperty("safelink") val safelink: String? = null,
|
||||
)
|
||||
|
||||
data class FDAds(
|
||||
@JsonProperty("linkr") val linkr: String? = null,
|
||||
@JsonProperty("linkr") val linkr: String? = null,
|
||||
)
|
||||
|
||||
data class ZShowEmbed(
|
||||
@JsonProperty("m") val meta: String? = null,
|
||||
@JsonProperty("m") val meta: String? = null,
|
||||
)
|
||||
|
||||
data class WatchsomuchTorrents(
|
||||
@JsonProperty("id") val id: Int? = null,
|
||||
@JsonProperty("movieId") val movieId: Int? = null,
|
||||
@JsonProperty("season") val season: Int? = null,
|
||||
@JsonProperty("episode") val episode: Int? = null,
|
||||
@JsonProperty("id") val id: Int? = null,
|
||||
@JsonProperty("movieId") val movieId: Int? = null,
|
||||
@JsonProperty("season") val season: Int? = null,
|
||||
@JsonProperty("episode") val episode: Int? = null,
|
||||
)
|
||||
|
||||
data class WatchsomuchMovies(
|
||||
@JsonProperty("torrents") val torrents: ArrayList<WatchsomuchTorrents>? = arrayListOf(),
|
||||
@JsonProperty("torrents") val torrents: ArrayList<WatchsomuchTorrents>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class WatchsomuchResponses(
|
||||
@JsonProperty("movie") val movie: WatchsomuchMovies? = null,
|
||||
@JsonProperty("movie") val movie: WatchsomuchMovies? = null,
|
||||
)
|
||||
|
||||
data class WatchsomuchSubtitles(
|
||||
@JsonProperty("url") val url: String? = null,
|
||||
@JsonProperty("label") val label: String? = null,
|
||||
@JsonProperty("url") val url: String? = null,
|
||||
@JsonProperty("label") val label: String? = null,
|
||||
)
|
||||
|
||||
data class WatchsomuchSubResponses(
|
||||
@JsonProperty("subtitles") val subtitles: ArrayList<WatchsomuchSubtitles>? = arrayListOf(),
|
||||
@JsonProperty("subtitles") val subtitles: ArrayList<WatchsomuchSubtitles>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class IndexMedia(
|
||||
@JsonProperty("id") val id: String? = null,
|
||||
@JsonProperty("driveId") val driveId: String? = null,
|
||||
@JsonProperty("mimeType") val mimeType: String? = null,
|
||||
@JsonProperty("size") val size: String? = null,
|
||||
@JsonProperty("name") val name: String? = null,
|
||||
@JsonProperty("modifiedTime") val modifiedTime: String? = null,
|
||||
@JsonProperty("id") val id: String? = null,
|
||||
@JsonProperty("driveId") val driveId: String? = null,
|
||||
@JsonProperty("mimeType") val mimeType: String? = null,
|
||||
@JsonProperty("size") val size: String? = null,
|
||||
@JsonProperty("name") val name: String? = null,
|
||||
@JsonProperty("modifiedTime") val modifiedTime: String? = null,
|
||||
)
|
||||
|
||||
data class IndexData(
|
||||
@JsonProperty("files") val files: ArrayList<IndexMedia>? = arrayListOf(),
|
||||
@JsonProperty("files") val files: ArrayList<IndexMedia>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class IndexSearch(
|
||||
@JsonProperty("data") val data: IndexData? = null,
|
||||
@JsonProperty("data") val data: IndexData? = null,
|
||||
)
|
||||
|
||||
data class JikanExternal(
|
||||
@JsonProperty("name") val name: String? = null,
|
||||
@JsonProperty("url") val url: String? = null,
|
||||
@JsonProperty("name") val name: String? = null,
|
||||
@JsonProperty("url") val url: String? = null,
|
||||
)
|
||||
|
||||
data class JikanData(
|
||||
@JsonProperty("title") val title: String? = null,
|
||||
@JsonProperty("external") val external: ArrayList<JikanExternal>? = arrayListOf(),
|
||||
@JsonProperty("title") val title: String? = null,
|
||||
@JsonProperty("external") val external: ArrayList<JikanExternal>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class JikanResponse(
|
||||
@JsonProperty("data") val data: JikanData? = null,
|
||||
@JsonProperty("data") val data: JikanData? = null,
|
||||
)
|
||||
|
||||
data class CinemaTvSubtitles(
|
||||
@JsonProperty("language") val language: String? = null,
|
||||
@JsonProperty("file") val file: Any? = null,
|
||||
@JsonProperty("language") val language: String? = null,
|
||||
@JsonProperty("file") val file: Any? = null,
|
||||
)
|
||||
|
||||
data class CinemaTvResponse(
|
||||
@JsonProperty("streams") val streams: HashMap<String, String>? = null,
|
||||
@JsonProperty("subtitles") val subtitles: ArrayList<CinemaTvSubtitles>? = arrayListOf(),
|
||||
@JsonProperty("streams") val streams: HashMap<String, String>? = null,
|
||||
@JsonProperty("subtitles") val subtitles: ArrayList<CinemaTvSubtitles>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class VidsrctoResult(
|
||||
@JsonProperty("id") val id: String? = null,
|
||||
@JsonProperty("title") val title: String? = null,
|
||||
@JsonProperty("url") val url: String? = null,
|
||||
@JsonProperty("id") val id: String? = null,
|
||||
@JsonProperty("title") val title: String? = null,
|
||||
@JsonProperty("url") val url: String? = null,
|
||||
)
|
||||
|
||||
data class VidsrctoResponse(
|
||||
@JsonProperty("result") val result: VidsrctoResult? = null,
|
||||
@JsonProperty("result") val result: VidsrctoResult? = null,
|
||||
)
|
||||
|
||||
data class VidsrctoSources(
|
||||
@JsonProperty("result") val result: ArrayList<VidsrctoResult>? = arrayListOf(),
|
||||
@JsonProperty("result") val result: ArrayList<VidsrctoResult>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class VidsrctoSubtitles(
|
||||
@JsonProperty("label") val label: String? = null,
|
||||
@JsonProperty("file") val file: String? = null,
|
||||
@JsonProperty("label") val label: String? = null,
|
||||
@JsonProperty("file") val file: String? = null,
|
||||
)
|
||||
|
||||
data class AnilistExternalLinks(
|
||||
@JsonProperty("id") var id: Int? = null,
|
||||
@JsonProperty("site") var site: String? = null,
|
||||
@JsonProperty("url") var url: String? = null,
|
||||
@JsonProperty("type") var type: String? = null,
|
||||
@JsonProperty("id") var id: Int? = null,
|
||||
@JsonProperty("site") var site: String? = null,
|
||||
@JsonProperty("url") var url: String? = null,
|
||||
@JsonProperty("type") var type: String? = null,
|
||||
)
|
||||
|
||||
data class AnilistMedia(
|
||||
@JsonProperty("externalLinks") var externalLinks: ArrayList<AnilistExternalLinks> = arrayListOf()
|
||||
)
|
||||
data class AnilistMedia(@JsonProperty("externalLinks") var externalLinks: ArrayList<AnilistExternalLinks> = arrayListOf())
|
||||
|
||||
data class AnilistData(
|
||||
@JsonProperty("Media") var Media: AnilistMedia? = AnilistMedia()
|
||||
)
|
||||
data class AnilistData(@JsonProperty("Media") var Media: AnilistMedia? = AnilistMedia())
|
||||
|
||||
data class AnilistResponses(
|
||||
@JsonProperty("data") var data: AnilistData? = AnilistData()
|
||||
)
|
||||
data class AnilistResponses(@JsonProperty("data") var data: AnilistData? = AnilistData())
|
||||
|
||||
data class CrunchyrollToken(
|
||||
@JsonProperty("access_token") val accessToken: String? = null,
|
||||
|
@ -229,22 +205,22 @@ data class CrunchyrollToken(
|
|||
}
|
||||
|
||||
data class CrunchyrollVersions(
|
||||
@JsonProperty("audio_locale") val audio_locale: String? = null,
|
||||
@JsonProperty("guid") val guid: String? = null,
|
||||
@JsonProperty("audio_locale") val audio_locale: String? = null,
|
||||
@JsonProperty("guid") val guid: String? = null,
|
||||
)
|
||||
|
||||
data class CrunchyrollData(
|
||||
@JsonProperty("id") val id: String? = null,
|
||||
@JsonProperty("title") val title: String? = null,
|
||||
@JsonProperty("slug_title") val slug_title: String? = null,
|
||||
@JsonProperty("season_number") val season_number: Int? = null,
|
||||
@JsonProperty("episode_number") val episode_number: Int? = null,
|
||||
@JsonProperty("versions") val versions: ArrayList<CrunchyrollVersions>? = null,
|
||||
@JsonProperty("streams_link") val streams_link: String? = null,
|
||||
@JsonProperty("id") val id: String? = null,
|
||||
@JsonProperty("title") val title: String? = null,
|
||||
@JsonProperty("slug_title") val slug_title: String? = null,
|
||||
@JsonProperty("season_number") val season_number: Int? = null,
|
||||
@JsonProperty("episode_number") val episode_number: Int? = null,
|
||||
@JsonProperty("versions") val versions: ArrayList<CrunchyrollVersions>? = null,
|
||||
@JsonProperty("streams_link") val streams_link: String? = null,
|
||||
)
|
||||
|
||||
data class CrunchyrollResponses(
|
||||
@JsonProperty("data") val data: ArrayList<CrunchyrollData>? = arrayListOf(),
|
||||
@JsonProperty("data") val data: ArrayList<CrunchyrollData>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class CrunchyrollSourcesResponses(
|
||||
|
@ -258,34 +234,34 @@ data class CrunchyrollSourcesResponses(
|
|||
}
|
||||
|
||||
data class MALSyncSites(
|
||||
@JsonProperty("Zoro") val zoro: HashMap<String?, HashMap<String, String?>>? = hashMapOf(),
|
||||
@JsonProperty("Zoro") val zoro: HashMap<String?, HashMap<String, String?>>? = hashMapOf(),
|
||||
)
|
||||
|
||||
data class MALSyncResponses(
|
||||
@JsonProperty("Sites") val sites: MALSyncSites? = null,
|
||||
@JsonProperty("Sites") val sites: MALSyncSites? = null,
|
||||
)
|
||||
|
||||
data class AniwatchResponses(
|
||||
@JsonProperty("html") val html: String? = null,
|
||||
@JsonProperty("link") val link: String? = null,
|
||||
@JsonProperty("html") val html: String? = null,
|
||||
@JsonProperty("link") val link: String? = null,
|
||||
)
|
||||
|
||||
data class MalSyncRes(
|
||||
@JsonProperty("Sites") val Sites: Map<String, Map<String, Map<String, String>>>? = null,
|
||||
@JsonProperty("Sites") val Sites: Map<String, Map<String, Map<String, String>>>? = null,
|
||||
)
|
||||
|
||||
data class GokuData(
|
||||
@JsonProperty("link") val link: String? = null,
|
||||
@JsonProperty("link") val link: String? = null,
|
||||
)
|
||||
|
||||
data class GokuServer(
|
||||
@JsonProperty("data") val data: GokuData? = GokuData(),
|
||||
@JsonProperty("data") val data: GokuData? = GokuData(),
|
||||
)
|
||||
|
||||
data class AllMovielandEpisodeFolder(
|
||||
@JsonProperty("title") val title: String? = null,
|
||||
@JsonProperty("id") val id: String? = null,
|
||||
@JsonProperty("file") val file: String? = null,
|
||||
@JsonProperty("title") val title: String? = null,
|
||||
@JsonProperty("id") val id: String? = null,
|
||||
@JsonProperty("file") val file: String? = null,
|
||||
)
|
||||
|
||||
data class AllMovielandSeasonFolder(
|
||||
|
@ -302,177 +278,159 @@ data class AllMovielandServer(
|
|||
)
|
||||
|
||||
data class AllMovielandPlaylist(
|
||||
@JsonProperty("file") val file: String? = null,
|
||||
@JsonProperty("key") val key: String? = null,
|
||||
@JsonProperty("href") val href: String? = null,
|
||||
@JsonProperty("file") val file: String? = null,
|
||||
@JsonProperty("key") val key: String? = null,
|
||||
@JsonProperty("href") val href: String? = null,
|
||||
)
|
||||
|
||||
data class DumpMedia(
|
||||
@JsonProperty("id") val id: String? = null,
|
||||
@JsonProperty("domainType") val domainType: Int? = null,
|
||||
@JsonProperty("name") val name: String? = null,
|
||||
@JsonProperty("releaseTime") val releaseTime: String? = null,
|
||||
@JsonProperty("id") val id: String? = null,
|
||||
@JsonProperty("domainType") val domainType: Int? = null,
|
||||
@JsonProperty("name") val name: String? = null,
|
||||
@JsonProperty("releaseTime") val releaseTime: String? = null,
|
||||
)
|
||||
|
||||
data class DumpQuickSearchData(
|
||||
@JsonProperty("searchResults") val searchResults: ArrayList<DumpMedia>? = arrayListOf(),
|
||||
@JsonProperty("searchResults") val searchResults: ArrayList<DumpMedia>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class SubtitlingList(
|
||||
@JsonProperty("languageAbbr") val languageAbbr: String? = null,
|
||||
@JsonProperty("language") val language: String? = null,
|
||||
@JsonProperty("subtitlingUrl") val subtitlingUrl: String? = null,
|
||||
@JsonProperty("languageAbbr") val languageAbbr: String? = null,
|
||||
@JsonProperty("language") val language: String? = null,
|
||||
@JsonProperty("subtitlingUrl") val subtitlingUrl: String? = null,
|
||||
)
|
||||
|
||||
data class DefinitionList(
|
||||
@JsonProperty("code") val code: String? = null,
|
||||
@JsonProperty("description") val description: String? = null,
|
||||
@JsonProperty("code") val code: String? = null,
|
||||
@JsonProperty("description") val description: String? = null,
|
||||
)
|
||||
|
||||
data class EpisodeVo(
|
||||
@JsonProperty("id") val id: Int? = null,
|
||||
@JsonProperty("seriesNo") val seriesNo: Int? = null,
|
||||
@JsonProperty("definitionList") val definitionList: ArrayList<DefinitionList>? = arrayListOf(),
|
||||
@JsonProperty("subtitlingList") val subtitlingList: ArrayList<SubtitlingList>? = arrayListOf(),
|
||||
@JsonProperty("id") val id: Int? = null,
|
||||
@JsonProperty("seriesNo") val seriesNo: Int? = null,
|
||||
@JsonProperty("definitionList") val definitionList: ArrayList<DefinitionList>? = arrayListOf(),
|
||||
@JsonProperty("subtitlingList") val subtitlingList: ArrayList<SubtitlingList>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class DumpMediaDetail(
|
||||
@JsonProperty("episodeVo") val episodeVo: ArrayList<EpisodeVo>? = arrayListOf(),
|
||||
@JsonProperty("episodeVo") val episodeVo: ArrayList<EpisodeVo>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class EMovieServer(
|
||||
@JsonProperty("value") val value: String? = null,
|
||||
@JsonProperty("value") val value: String? = null,
|
||||
)
|
||||
|
||||
data class EMovieSources(
|
||||
@JsonProperty("file") val file: String? = null,
|
||||
@JsonProperty("file") val file: String? = null,
|
||||
)
|
||||
|
||||
data class EMovieTraks(
|
||||
@JsonProperty("file") val file: String? = null,
|
||||
@JsonProperty("label") val label: String? = null,
|
||||
@JsonProperty("file") val file: String? = null,
|
||||
@JsonProperty("label") val label: String? = null,
|
||||
)
|
||||
|
||||
data class ShowflixResultsMovies(
|
||||
@JsonProperty("movieName") val movieName: String? = null,
|
||||
@JsonProperty("streamwish") val streamwish: String? = null,
|
||||
@JsonProperty("filelions") val filelions: String? = null,
|
||||
@JsonProperty("streamruby") val streamruby: String? = null,
|
||||
@JsonProperty("movieName") val movieName: String? = null,
|
||||
@JsonProperty("streamwish") val streamwish: String? = null,
|
||||
@JsonProperty("filelions") val filelions: String? = null,
|
||||
@JsonProperty("streamruby") val streamruby: String? = null,
|
||||
)
|
||||
|
||||
data class ShowflixResultsSeries(
|
||||
@JsonProperty("seriesName") val seriesName: String? = null,
|
||||
@JsonProperty("streamwish") val streamwish: HashMap<String, List<String>>? = hashMapOf(),
|
||||
@JsonProperty("filelions") val filelions: HashMap<String, List<String>>? = hashMapOf(),
|
||||
@JsonProperty("streamruby") val streamruby: HashMap<String, List<String>>? = hashMapOf(),
|
||||
@JsonProperty("seriesName") val seriesName: String? = null,
|
||||
@JsonProperty("streamwish") val streamwish: HashMap<String, List<String>>? = hashMapOf(),
|
||||
@JsonProperty("filelions") val filelions: HashMap<String, List<String>>? = hashMapOf(),
|
||||
@JsonProperty("streamruby") val streamruby: HashMap<String, List<String>>? = hashMapOf(),
|
||||
)
|
||||
|
||||
data class ShowflixSearchMovies(
|
||||
@JsonProperty("results") val resultsMovies: ArrayList<ShowflixResultsMovies>? = arrayListOf(),
|
||||
@JsonProperty("results") val resultsMovies: ArrayList<ShowflixResultsMovies>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class ShowflixSearchSeries(
|
||||
@JsonProperty("results") val resultsSeries: ArrayList<ShowflixResultsSeries>? = arrayListOf(),
|
||||
@JsonProperty("results") val resultsSeries: ArrayList<ShowflixResultsSeries>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class SFMoviesSeriess(
|
||||
@JsonProperty("title") var title: String? = null,
|
||||
@JsonProperty("svideos") var svideos: String? = null,
|
||||
@JsonProperty("title") var title: String? = null,
|
||||
@JsonProperty("svideos") var svideos: String? = null,
|
||||
)
|
||||
|
||||
data class SFMoviesAttributes(
|
||||
@JsonProperty("title") var title: String? = null,
|
||||
@JsonProperty("video") var video: String? = null,
|
||||
@JsonProperty("releaseDate") var releaseDate: String? = null,
|
||||
@JsonProperty("seriess") var seriess: ArrayList<ArrayList<SFMoviesSeriess>>? = arrayListOf(),
|
||||
@JsonProperty("contentId") var contentId: String? = null,
|
||||
@JsonProperty("title") var title: String? = null,
|
||||
@JsonProperty("video") var video: String? = null,
|
||||
@JsonProperty("releaseDate") var releaseDate: String? = null,
|
||||
@JsonProperty("seriess") var seriess: ArrayList<ArrayList<SFMoviesSeriess>>? = arrayListOf(),
|
||||
@JsonProperty("contentId") var contentId: String? = null,
|
||||
)
|
||||
|
||||
data class SFMoviesData(
|
||||
@JsonProperty("id") var id: Int? = null,
|
||||
@JsonProperty("attributes") var attributes: SFMoviesAttributes? = SFMoviesAttributes()
|
||||
)
|
||||
data class SFMoviesData(@JsonProperty("id") var id: Int? = null, @JsonProperty("attributes") var attributes: SFMoviesAttributes? = SFMoviesAttributes())
|
||||
|
||||
data class SFMoviesSearch(
|
||||
@JsonProperty("data") var data: ArrayList<SFMoviesData>? = arrayListOf(),
|
||||
@JsonProperty("data") var data: ArrayList<SFMoviesData>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class RidoContentable(
|
||||
@JsonProperty("imdbId") var imdbId: String? = null,
|
||||
@JsonProperty("tmdbId") var tmdbId: Int? = null,
|
||||
@JsonProperty("imdbId") var imdbId: String? = null,
|
||||
@JsonProperty("tmdbId") var tmdbId: Int? = null,
|
||||
)
|
||||
|
||||
data class RidoItems(
|
||||
@JsonProperty("slug") var slug: String? = null,
|
||||
@JsonProperty("contentable") var contentable: RidoContentable? = null,
|
||||
@JsonProperty("slug") var slug: String? = null,
|
||||
@JsonProperty("contentable") var contentable: RidoContentable? = null,
|
||||
)
|
||||
|
||||
data class RidoData(
|
||||
@JsonProperty("url") var url: String? = null,
|
||||
@JsonProperty("items") var items: ArrayList<RidoItems>? = arrayListOf(),
|
||||
@JsonProperty("url") var url: String? = null,
|
||||
@JsonProperty("items") var items: ArrayList<RidoItems>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class RidoResponses(
|
||||
@JsonProperty("data") var data: ArrayList<RidoData>? = arrayListOf(),
|
||||
@JsonProperty("data") var data: ArrayList<RidoData>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class RidoSearch(
|
||||
@JsonProperty("data") var data: RidoData? = null,
|
||||
@JsonProperty("data") var data: RidoData? = null,
|
||||
)
|
||||
|
||||
data class SmashySources(
|
||||
@JsonProperty("sourceUrls") var sourceUrls: ArrayList<String>? = arrayListOf(),
|
||||
@JsonProperty("subtitleUrls") var subtitleUrls: String? = null,
|
||||
@JsonProperty("sourceUrls") var sourceUrls: ArrayList<String>? = arrayListOf(),
|
||||
@JsonProperty("subtitleUrls") var subtitleUrls: String? = null,
|
||||
)
|
||||
|
||||
data class SmashyDSources(
|
||||
@JsonProperty("sourceUrls") var sourceUrls: ArrayList<SmashyDSourcesUrls>? = arrayListOf(),
|
||||
@JsonProperty("sourceUrls") var sourceUrls: ArrayList<SmashyDSourcesUrls>? = arrayListOf(),
|
||||
)
|
||||
|
||||
data class SmashyDSourcesUrls(
|
||||
@JsonProperty("file") var file: String? = null,
|
||||
@JsonProperty("title") var title: String? = null,
|
||||
@JsonProperty("file") var file: String? = null,
|
||||
@JsonProperty("title") var title: String? = null,
|
||||
)
|
||||
|
||||
data class AoneroomResponse(
|
||||
@JsonProperty("data") val data: Data? = null,
|
||||
@JsonProperty("data") val data: Data? = null,
|
||||
) {
|
||||
data class Data(
|
||||
@JsonProperty("items") val items: ArrayList<Items>? = arrayListOf(),
|
||||
@JsonProperty("list") val list: ArrayList<List>? = arrayListOf(),
|
||||
@JsonProperty("items") val items: ArrayList<Items>? = arrayListOf(),
|
||||
@JsonProperty("list") val list: ArrayList<List>? = arrayListOf(),
|
||||
) {
|
||||
data class Items(
|
||||
@JsonProperty("subjectId") val subjectId: String? = null,
|
||||
@JsonProperty("title") val title: String? = null,
|
||||
@JsonProperty("releaseDate") val releaseDate: String? = null,
|
||||
@JsonProperty("subjectId") val subjectId: String? = null,
|
||||
@JsonProperty("title") val title: String? = null,
|
||||
@JsonProperty("releaseDate") val releaseDate: String? = null,
|
||||
)
|
||||
|
||||
data class List(
|
||||
@JsonProperty("resourceLink") val resourceLink: String? = null,
|
||||
@JsonProperty("extCaptions") val extCaptions: ArrayList<ExtCaptions>? = arrayListOf(),
|
||||
@JsonProperty("se") val se: Int? = null,
|
||||
@JsonProperty("ep") val ep: Int? = null,
|
||||
@JsonProperty("resolution") val resolution: Int? = null,
|
||||
@JsonProperty("resourceLink") val resourceLink: String? = null,
|
||||
@JsonProperty("extCaptions") val extCaptions: ArrayList<ExtCaptions>? = arrayListOf(),
|
||||
@JsonProperty("se") val se: Int? = null,
|
||||
@JsonProperty("ep") val ep: Int? = null,
|
||||
@JsonProperty("resolution") val resolution: Int? = null,
|
||||
) {
|
||||
data class ExtCaptions(
|
||||
@JsonProperty("lanName") val lanName: String? = null,
|
||||
@JsonProperty("url") val url: String? = null,
|
||||
@JsonProperty("lanName") val lanName: String? = null,
|
||||
@JsonProperty("url") val url: String? = null,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
data class FebboxResponse(
|
||||
@JsonProperty("data") val data: Data? = null,
|
||||
) {
|
||||
data class Data(
|
||||
@JsonProperty("link") val link: String? = null,
|
||||
@JsonProperty("file_list") val file_list: ArrayList<FileList>? = arrayListOf(),
|
||||
) {
|
||||
data class FileList(
|
||||
@JsonProperty("fid") val fid: Long? = null,
|
||||
@JsonProperty("file_name") val file_name: String? = null,
|
||||
@JsonProperty("oss_fid") val oss_fid: Long? = null,
|
||||
)
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -29,7 +29,7 @@ import com.hexated.SoraExtractor.invokeShowflix
|
|||
import com.hexated.SoraExtractor.invokeVidSrc
|
||||
import com.hexated.SoraExtractor.invokeVidsrcto
|
||||
import com.hexated.SoraExtractor.invokeCinemaTv
|
||||
import com.hexated.SoraExtractor.invokeFebbox
|
||||
import com.hexated.SoraExtractor.invokeMMovies
|
||||
import com.hexated.SoraExtractor.invokeOmovies
|
||||
import com.hexated.SoraExtractor.invokeWatchCartoon
|
||||
import com.hexated.SoraExtractor.invokeWatchsomuch
|
||||
|
@ -42,299 +42,121 @@ import com.lagradost.cloudstream3.utils.ExtractorLink
|
|||
class SoraStreamLite : SoraStream() {
|
||||
override var name = "SoraStream-Lite"
|
||||
|
||||
override suspend fun loadLinks(
|
||||
data: String,
|
||||
isCasting: Boolean,
|
||||
subtitleCallback: (SubtitleFile) -> Unit,
|
||||
callback: (ExtractorLink) -> Unit
|
||||
): Boolean {
|
||||
override suspend fun loadLinks(data: String, isCasting: Boolean, subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit): Boolean {
|
||||
|
||||
val res = AppUtils.parseJson<LinkData>(data)
|
||||
|
||||
argamap(
|
||||
// {
|
||||
// invokeFebbox(
|
||||
// res.title,
|
||||
// res.year,
|
||||
// res.season,
|
||||
// res.lastSeason,
|
||||
// res.episode,
|
||||
// callback
|
||||
// )
|
||||
// },
|
||||
{
|
||||
if (!res.isAnime) invokeWatchsomuch(
|
||||
res.imdbId,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback
|
||||
)
|
||||
},
|
||||
{
|
||||
invokeDumpStream(
|
||||
res.title,
|
||||
res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeNinetv(
|
||||
res.id,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
invokeGoku(
|
||||
res.title,
|
||||
res.year,
|
||||
res.season,
|
||||
res.lastSeason,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
invokeVidSrc(res.id, res.season, res.episode, callback)
|
||||
},
|
||||
{
|
||||
invokeDbgo(res.imdbId, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime && res.isCartoon) invokeWatchCartoon(
|
||||
res.title,
|
||||
res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (res.isAnime) invokeAnimes(
|
||||
res.title,
|
||||
res.epsTitle,
|
||||
res.date,
|
||||
res.airedDate,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeDreamfilm(
|
||||
res.title,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeFilmxy(
|
||||
res.imdbId,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeOmovies(
|
||||
res.title,
|
||||
res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime && res.isCartoon) invokeKimcartoon(
|
||||
res.title,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeSmashyStream(
|
||||
res.imdbId,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeVidsrcto(
|
||||
res.imdbId,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (res.isAsian || res.isAnime) invokeKisskh(
|
||||
res.title,
|
||||
res.season,
|
||||
res.episode,
|
||||
res.isAnime,
|
||||
res.lastSeason,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeLing(
|
||||
res.title,
|
||||
res.airedYear ?: res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if(!res.isAnime) invokeM4uhd(
|
||||
res.title,
|
||||
res.airedYear ?: res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeRStream(res.id, res.season, res.episode, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeFlixon(res.id, res.imdbId, res.season, res.episode, callback)
|
||||
},
|
||||
{
|
||||
invokeCinemaTv(
|
||||
res.imdbId,
|
||||
res.title,
|
||||
res.airedYear ?: res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeNowTv(res.id, res.imdbId, res.season, res.episode, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeAoneroom(
|
||||
res.title,
|
||||
res.airedYear ?: res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime && res.season == null) invokeRidomovies(
|
||||
res.id,
|
||||
res.imdbId,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeEmovies(
|
||||
res.title,
|
||||
res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if(res.isBollywood) invokeMultimovies(multimoviesAPI, res.title, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if(res.isBollywood) invokeMultimovies(multimovies2API, res.title, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
invokeNetmovies(
|
||||
res.title,
|
||||
res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeAllMovieland(res.imdbId, res.season, res.episode, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime && res.season == null) invokeDoomovies(
|
||||
res.title,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if(res.isAsian) invokeDramaday(
|
||||
res.title,
|
||||
res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if(!res.isAnime) invoke2embed(
|
||||
res.imdbId,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
invokeZshow(
|
||||
res.title,
|
||||
res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeShowflix(
|
||||
res.title,
|
||||
res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
subtitleCallback,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if(!res.isAnime) invokeSFMovies(
|
||||
res.id,
|
||||
res.title,
|
||||
res.airedYear ?: res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
callback
|
||||
)
|
||||
}
|
||||
{
|
||||
if (!res.isAnime) invokeWatchsomuch(res.imdbId, res.season, res.episode, subtitleCallback)
|
||||
},
|
||||
{
|
||||
invokeDumpStream(res.title, res.year, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeNinetv(res.id, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
invokeGoku(res.title, res.year, res.season, res.lastSeason, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
invokeVidSrc(res.id, res.season, res.episode, callback)
|
||||
},
|
||||
{
|
||||
invokeDbgo(res.imdbId, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime && res.isCartoon) invokeWatchCartoon(res.title, res.year, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (res.isAnime) invokeAnimes(res.title, res.epsTitle, res.date, res.airedDate, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeDreamfilm(res.title, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeFilmxy(res.imdbId, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeOmovies(res.title, res.year, res.season, res.episode, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime && res.isCartoon) invokeKimcartoon(res.title, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeSmashyStream(res.imdbId, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeVidsrcto(res.imdbId, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (res.isAsian || res.isAnime) invokeKisskh(res.title, res.season, res.episode, res.isAnime, res.lastSeason, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeLing(res.title, res.airedYear
|
||||
?: res.year, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeM4uhd(res.title, res.airedYear
|
||||
?: res.year, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeRStream(res.id, res.season, res.episode, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeFlixon(res.id, res.imdbId, res.season, res.episode, callback)
|
||||
},
|
||||
{
|
||||
invokeCinemaTv(res.imdbId, res.title, res.airedYear
|
||||
?: res.year, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeNowTv(res.id, res.imdbId, res.season, res.episode, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeAoneroom(res.title, res.airedYear
|
||||
?: res.year, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime && res.season == null) invokeRidomovies(res.id, res.imdbId, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeEmovies(res.title, res.year, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (res.isBollywood) invokeMultimovies(multimoviesAPI, res.title, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (res.isBollywood) invokeMultimovies(multimovies2API, res.title, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
invokeNetmovies(res.title, res.year, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeAllMovieland(res.imdbId, res.season, res.episode, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime && res.season == null) invokeDoomovies(res.title, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (res.isAsian) invokeDramaday(res.title, res.year, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invoke2embed(res.imdbId, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
invokeZshow(res.title, res.year, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeShowflix(res.title, res.year, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokeSFMovies(res.id, res.title, res.airedYear
|
||||
?: res.year, res.season, res.episode, callback)
|
||||
},
|
||||
{
|
||||
invokeMMovies(res.title, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
)
|
||||
|
||||
return true
|
||||
|
|
Loading…
Reference in a new issue