update Sora Home

This commit is contained in:
hexated 2022-10-30 12:24:44 +07:00
parent 6caa65a419
commit e65246dea0
3 changed files with 16 additions and 12 deletions

View File

@ -1,5 +1,5 @@
// use an integer for version numbers
version = 17
version = 18
cloudstream {

View File

@ -300,25 +300,25 @@ object SoraExtractor : SoraStream() {
subtitleCallback: (SubtitleFile) -> Unit,
callback: (ExtractorLink) -> Unit
) {
val url = if(season == null) {
"$mainServerAPI/movies/$id/?_data=routes/movies/\$movieId"
} else {
"$mainServerAPI/tv-shows/$id/?_data=routes/tv-shows/\$tvId"
}
val data = app.get(url).parsedSafe<DetailVipResult>()?.detail
val title = data?.title ?: data?.name
val origTitle = data?.original_title ?: data?.original_name
val providerId = if (season == null) {
val url = "$mainServerAPI/movies/$id/?_data=routes/movies/\$movieId"
val data = app.get(url).parsedSafe<DetailVipResult>()?.detail
val airDate = (data?.release_date ?: data?.first_air_date)?.substringBefore("-")
app.get(
"$mainServerAPI/api/provider?title=${data?.title ?: data?.name}&type=movie&origTitle=${data?.original_title ?: data?.original_name}&year=$airDate&_data=routes/api/provider"
"$mainServerAPI/api/provider?title=$title&type=movie&origTitle=$origTitle&year=$airDate&_data=routes/api/provider"
)
.parsedSafe<ProvidersResult>()?.provider?.first { it.provider == "Loklok" }?.id
} else {
val url = "$mainServerAPI/tv-shows/$id/?_data=routes/tv-shows/\$tvId"
val data = app.get(url).parsedSafe<DetailVipResult>()?.detail
val airDate = (if (data?.seasons?.size == 1) {
data.seasons.first().air_date
} else {
data?.seasons?.get(season)?.air_date
})?.substringBefore("-")
val airDate = data?.seasons?.first { it.season_number == season }?.air_date?.substringBefore("-")
app.get(
"$mainServerAPI/api/provider?title=${data?.title ?: data?.name}&type=tv&origTitle=${data?.original_title ?: data?.original_name}&year=$airDate&season=$season&_data=routes/api/provider"
"$mainServerAPI/api/provider?title=$title&type=tv&origTitle=$origTitle&year=$airDate&season=$season&_data=routes/api/provider"
)
.parsedSafe<ProvidersResult>()?.provider?.first { it.provider == "Loklok" }?.id
}

View File

@ -86,10 +86,13 @@ open class SoraStream : TmdbProvider() {
}
override val mainPage = mainPageOf(
"$tmdbAPI/tv/airing_today?api_key=$apiKey&region=&page=" to "Airing Today TV Shows",
"$tmdbAPI/movie/popular?api_key=$apiKey&region=&page=" to "Popular Movies",
"$tmdbAPI/tv/popular?api_key=$apiKey&region=&page=" to "Popular TV Shows",
"$tmdbAPI/tv/on_the_air?api_key=$apiKey&region=&page=" to "On The Air TV Shows",
"$tmdbAPI/movie/top_rated?api_key=$apiKey&region=&page=" to "Top Rated Movies",
"$tmdbAPI/tv/top_rated?api_key=$apiKey&region=&page=" to "Top Rated TV Shows",
"$tmdbAPI/movie/upcoming?api_key=$apiKey&region=&page=" to "Upcoming Movies",
"$tmdbAPI/discover/tv?api_key=$apiKey&with_keywords=210024|222243&page=" to "Anime",
"$tmdbAPI/discover/movie?api_key=$apiKey&with_keywords=210024|222243&page=" to "Anime Movies",
)
@ -570,6 +573,7 @@ open class SoraStream : TmdbProvider() {
data class seasonsVip(
@JsonProperty("air_date") val air_date: String? = null,
@JsonProperty("season_number") val season_number: Int? = null,
)
data class DetailVip(