From 6caa65a419b4cc60b7122e5b49bf30d37238cdf4 Mon Sep 17 00:00:00 2001 From: hexated Date: Sun, 30 Oct 2022 08:07:59 +0700 Subject: [PATCH] fixed SoraVIP --- SoraStream/build.gradle.kts | 2 +- .../src/main/kotlin/com/hexated/SoraExtractor.kt | 14 ++++++++------ .../src/main/kotlin/com/hexated/SoraStream.kt | 5 +++++ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/SoraStream/build.gradle.kts b/SoraStream/build.gradle.kts index 0caee8ea..6aa88c1b 100644 --- a/SoraStream/build.gradle.kts +++ b/SoraStream/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 16 +version = 17 cloudstream { diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt index 48011109..d39d28a2 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt @@ -303,20 +303,22 @@ object SoraExtractor : SoraStream() { val providerId = if (season == null) { val url = "$mainServerAPI/movies/$id/?_data=routes/movies/\$movieId" val data = app.get(url).parsedSafe()?.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=${ - (data?.release_date ?: data?.first_air_date)?.substringBefore("-") - }&_data=routes/api/provider" + "$mainServerAPI/api/provider?title=${data?.title ?: data?.name}&type=movie&origTitle=${data?.original_title ?: data?.original_name}&year=$airDate&_data=routes/api/provider" ) .parsedSafe()?.provider?.first { it.provider == "Loklok" }?.id } else { val url = "$mainServerAPI/tv-shows/$id/?_data=routes/tv-shows/\$tvId" val data = app.get(url).parsedSafe()?.detail + val airDate = (if (data?.seasons?.size == 1) { + data.seasons.first().air_date + } else { + data?.seasons?.get(season)?.air_date + })?.substringBefore("-") app.get( - "$mainServerAPI/api/provider?title=${data?.title ?: data?.name}&type=tv&origTitle=${data?.original_title ?: data?.original_name}&year=${ - (data?.release_date ?: data?.first_air_date)?.substringBefore("-") - }&season=$season&_data=routes/api/provider" + "$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" ) .parsedSafe()?.provider?.first { it.provider == "Loklok" }?.id } diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt index b2f6726b..abb7b27a 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt @@ -568,6 +568,10 @@ open class SoraStream : TmdbProvider() { @JsonProperty("detail") val detail: DetailAnime? = null, ) + data class seasonsVip( + @JsonProperty("air_date") val air_date: String? = null, + ) + data class DetailVip( @JsonProperty("title") val title: String? = null, @JsonProperty("name") val name: String? = null, @@ -575,6 +579,7 @@ open class SoraStream : TmdbProvider() { @JsonProperty("original_name") val original_name: String? = null, @JsonProperty("release_date") val release_date: String? = null, @JsonProperty("first_air_date") val first_air_date: String? = null, + @JsonProperty("seasons") val seasons: ArrayList? = arrayListOf(), ) data class DetailVipResult(