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

215 lines
6.6 KiB
Kotlin
Raw Normal View History

2023-01-31 06:30:37 +00:00
package com.hexated
2023-02-02 06:51:20 +00:00
import com.hexated.SoraExtractor.invoke123Movie
import com.hexated.SoraExtractor.invokeAnimes
import com.hexated.SoraExtractor.invokeCrunchyroll
import com.hexated.SoraExtractor.invokeDbgo
import com.hexated.SoraExtractor.invokeFilmxy
import com.hexated.SoraExtractor.invokeFlixhq
import com.hexated.SoraExtractor.invokeFlixon
import com.hexated.SoraExtractor.invokeFwatayako
import com.hexated.SoraExtractor.invokeHDMovieBox
import com.hexated.SoraExtractor.invokeIdlix
import com.hexated.SoraExtractor.invokeKimcartoon
import com.hexated.SoraExtractor.invokeKisskh
import com.hexated.SoraExtractor.invokeLing
import com.hexated.SoraExtractor.invokeM4uhd
2023-02-06 04:55:42 +00:00
import com.hexated.SoraExtractor.invokeMovie123Net
2023-02-02 06:51:20 +00:00
import com.hexated.SoraExtractor.invokeMovieHab
import com.hexated.SoraExtractor.invokeRStream
import com.hexated.SoraExtractor.invokeSeries9
2023-02-06 04:55:42 +00:00
import com.hexated.SoraExtractor.invokeSmashyStream
2023-02-02 06:51:20 +00:00
import com.hexated.SoraExtractor.invokeSoraStream
import com.hexated.SoraExtractor.invokeTwoEmbed
import com.hexated.SoraExtractor.invokeUniqueStream
import com.hexated.SoraExtractor.invokeVidSrc
import com.hexated.SoraExtractor.invokeWatchsomuch
import com.hexated.SoraExtractor.invokeXmovies
2023-01-31 06:30:37 +00:00
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(
{
2023-02-02 06:51:20 +00:00
invokeWatchsomuch(
res.imdbId,
res.season,
res.episode,
subtitleCallback
)
},
{
invokeSoraStream(
2023-01-31 06:30:37 +00:00
res.title,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
2023-02-02 06:51:20 +00:00
invokeTwoEmbed(res.id, res.season, res.episode, subtitleCallback, callback)
2023-01-31 06:30:37 +00:00
},
{
2023-02-02 06:51:20 +00:00
invokeVidSrc(res.id, res.season, res.episode, subtitleCallback, callback)
2023-01-31 06:30:37 +00:00
},
{
2023-02-02 06:51:20 +00:00
invokeDbgo(res.imdbId, res.season, res.episode, subtitleCallback, callback)
2023-01-31 06:30:37 +00:00
},
{
2023-02-02 06:51:20 +00:00
invoke123Movie(
2023-01-31 06:30:37 +00:00
res.id,
res.imdbId,
res.season,
res.episode,
subtitleCallback,
callback
)
},
2023-02-06 04:55:42 +00:00
{
invokeMovie123Net(
res.title,
res.season,
res.episode,
subtitleCallback,
callback
)
},
2023-01-31 06:30:37 +00:00
{
2023-02-02 06:51:20 +00:00
invokeMovieHab(res.imdbId, res.season, res.episode, subtitleCallback, callback)
2023-01-31 06:30:37 +00:00
},
{
2023-02-02 06:51:20 +00:00
if (res.isAnime) invokeAnimes(
2023-01-31 06:30:37 +00:00
res.id,
res.title,
res.epsTitle,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
2023-02-02 06:51:20 +00:00
if (res.season != null && res.isAnime) invokeCrunchyroll(
2023-01-31 06:30:37 +00:00
res.title,
res.epsTitle,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
2023-02-02 06:51:20 +00:00
if (!res.isAnime) invokeHDMovieBox(
2023-01-31 06:30:37 +00:00
res.title,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
2023-02-02 06:51:20 +00:00
invokeSeries9(res.title, res.season, res.episode, subtitleCallback, callback)
2023-01-31 06:30:37 +00:00
},
{
2023-02-02 06:51:20 +00:00
invokeIdlix(
2023-01-31 06:30:37 +00:00
res.title,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
2023-02-02 06:51:20 +00:00
invokeUniqueStream(
2023-01-31 06:30:37 +00:00
res.title,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
2023-02-02 06:51:20 +00:00
invokeFilmxy(res.imdbId, res.season, res.episode, subtitleCallback, callback)
2023-01-31 06:30:37 +00:00
},
{
2023-02-02 06:51:20 +00:00
invokeKimcartoon(res.title, res.season, res.episode, subtitleCallback, callback)
2023-01-31 06:30:37 +00:00
},
2023-02-06 04:55:42 +00:00
{
invokeSmashyStream(res.imdbId, res.season, res.episode, callback)
},
2023-01-31 06:30:37 +00:00
{
2023-02-02 06:51:20 +00:00
invokeXmovies(
2023-01-31 06:30:37 +00:00
res.title,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
2023-02-02 06:51:20 +00:00
invokeFlixhq(
2023-01-31 06:30:37 +00:00
res.title,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
2023-02-02 06:51:20 +00:00
invokeKisskh(res.title, res.season, res.episode, subtitleCallback, callback)
2023-01-31 06:30:37 +00:00
},
{
2023-02-02 06:51:20 +00:00
invokeLing(
2023-01-31 06:30:37 +00:00
res.title,
res.airedYear ?: res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
2023-02-02 06:51:20 +00:00
invokeFwatayako(res.imdbId, res.season, res.episode, callback)
2023-01-31 06:30:37 +00:00
},
{
2023-02-02 06:51:20 +00:00
invokeM4uhd(
2023-01-31 06:30:37 +00:00
res.title,
res.year,
res.season,
res.episode,
subtitleCallback,
callback
)
},
{
2023-02-02 06:51:20 +00:00
invokeRStream(res.id, res.season, res.episode, callback)
2023-01-31 06:30:37 +00:00
},
{
2023-02-02 06:51:20 +00:00
invokeFlixon(res.id, res.imdbId, res.season, res.episode, callback)
2023-01-31 06:30:37 +00:00
},
)
return true
}
}