fix(en/AniPlay): Added idMal to request
This commit is contained in:
parent
37cb8174d5
commit
f5ad79e79a
1 changed files with 20 additions and 3 deletions
|
@ -15,6 +15,7 @@ import eu.kanade.tachiyomi.animesource.model.Track
|
|||
import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils
|
||||
import eu.kanade.tachiyomi.multisrc.anilist.AniListAnimeHttpSource
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.network.POST
|
||||
import eu.kanade.tachiyomi.util.parallelFlatMapBlocking
|
||||
import eu.kanade.tachiyomi.util.parseAs
|
||||
|
@ -90,6 +91,22 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
|
|||
val episodeListUrl = response.request.url
|
||||
val animeId = episodeListUrl.pathSegments[2]
|
||||
|
||||
val responsePage = client.newCall(GET("$baseUrl/anime/watch/$animeId")).execute()
|
||||
val responsePageString = responsePage.body.string()
|
||||
var idMal: Number? = null
|
||||
val idMalIndex = responsePageString.indexOf("\\\"idMal\\\":")
|
||||
if (idMalIndex != -1) {
|
||||
val startIndex = idMalIndex + "\\\"idMal\\\":".length
|
||||
val endIndex = responsePageString.indexOf(',', startIndex)
|
||||
if (endIndex != -1) {
|
||||
idMal = responsePageString.substring(startIndex, endIndex).toIntOrNull()
|
||||
}
|
||||
}
|
||||
if (idMal == null) {
|
||||
Log.e("AniPlay", "idMal not found - responsePageString: $responsePageString")
|
||||
throw Exception("idMal not found")
|
||||
}
|
||||
|
||||
val responseString = response.body.string()
|
||||
val episodesArrayString = responseString.split("1:").last()
|
||||
|
||||
|
@ -127,6 +144,7 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
|
|||
.addQueryParameter("id", animeId)
|
||||
.addQueryParameter("ep", episodeNumber.toString())
|
||||
.addQueryParameter("extras", episodeExtraString)
|
||||
.addQueryParameter("idMal", idMal.toString())
|
||||
.build()
|
||||
|
||||
val name = parseEpisodeName(episodeNumber.toString(), episode.title)
|
||||
|
@ -156,7 +174,7 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
|
|||
override suspend fun getVideoList(episode: SEpisode): List<Video> {
|
||||
val episodeUrl = episode.url.toHttpUrl()
|
||||
val animeId = episodeUrl.queryParameter("id") ?: return emptyList()
|
||||
// val episodeNum = episodeUrl.queryParameter("ep") ?: return emptyList()
|
||||
val idMal = episodeUrl.queryParameter("idMal") ?: return emptyList()
|
||||
val extras = episodeUrl.queryParameter("extras")
|
||||
?.let {
|
||||
try {
|
||||
|
@ -193,7 +211,7 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
|
|||
extra.episodeNum.toString() // If it has a fractional part, leave it as a float
|
||||
}
|
||||
|
||||
val requestBody = "[\"$animeId\",\"${extra.source}\",\"${extra.episodeId}\",\"$epNum\",\"$language\"]"
|
||||
val requestBody = "[\"$animeId\",$idMal,\"${extra.source}\",\"${extra.episodeId}\",\"$epNum\",\"$language\"]"
|
||||
.toRequestBody("application/json".toMediaType())
|
||||
|
||||
val params = mapOf(
|
||||
|
@ -205,7 +223,6 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
|
|||
val builder = Uri.parse("$baseUrl/anime/watch").buildUpon()
|
||||
params.map { (k, v) -> builder.appendQueryParameter(k, v); }
|
||||
val url = builder.build().toString()
|
||||
Log.i("AniPlay", "Url: $url")
|
||||
try {
|
||||
val request = POST(url, headersWithAction, requestBody)
|
||||
val response = client.newCall(request).execute()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue