cloudstream-extensions-hexated/SoraStream/src/main/kotlin/com/hexated/SoraStreamLite.kt

170 lines
5.2 KiB
Kotlin
Raw Normal View History

2023-01-31 06:30:37 +00:00
package com.hexated
import com.lagradost.cloudstream3.SubtitleFile
import com.lagradost.cloudstream3.argamap
import com.lagradost.cloudstream3.utils.AppUtils
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 {
val res = AppUtils.parseJson<LinkData>(data)
argamap(
{
SoraExtractor.invokeSoraStream(
res.title,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
SoraExtractor.invokeTwoEmbed(res.id, res.season, res.episode, subtitleCallback, callback)
},
{
SoraExtractor.invokeVidSrc(res.id, res.season, res.episode, subtitleCallback, callback)
},
{
SoraExtractor.invokeDbgo(res.imdbId, res.season, res.episode, subtitleCallback, callback)
},
{
SoraExtractor.invoke123Movie(
res.id,
res.imdbId,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
SoraExtractor.invokeMovieHab(res.imdbId, res.season, res.episode, subtitleCallback, callback)
},
{
if (res.isAnime) SoraExtractor.invokeAnimes(
res.id,
res.title,
res.epsTitle,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
if (res.season != null && res.isAnime) SoraExtractor.invokeCrunchyroll(
res.title,
res.epsTitle,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
if (!res.isAnime) SoraExtractor.invokeHDMovieBox(
res.title,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
SoraExtractor.invokeSeries9(res.title, res.season, res.episode, subtitleCallback, callback)
},
{
SoraExtractor.invokeIdlix(
res.title,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
SoraExtractor.invokeUniqueStream(
res.title,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
SoraExtractor.invokeFilmxy(res.imdbId, res.season, res.episode, subtitleCallback, callback)
},
{
SoraExtractor.invokeKimcartoon(res.title, res.season, res.episode, subtitleCallback, callback)
},
{
SoraExtractor.invokeXmovies(
res.title,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
SoraExtractor.invokeFlixhq(
res.title,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
SoraExtractor.invokeKisskh(res.title, res.season, res.episode, subtitleCallback, callback)
},
{
SoraExtractor.invokeLing(
res.title,
res.airedYear ?: res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
SoraExtractor.invokeFwatayako(res.imdbId, res.season, res.episode, callback)
},
{
SoraExtractor.invokeM4uhd(
res.title,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
SoraExtractor.invokeRStream(res.id, res.season, res.episode, callback)
},
{
SoraExtractor.invokeFlixon(res.id, res.imdbId, res.season, res.episode, callback)
},
)
return true
}
}