From 30454df5482d8c8af0b240cf952ec531d4132361 Mon Sep 17 00:00:00 2001 From: jmir1 Date: Tue, 19 Apr 2022 23:15:54 +0200 Subject: [PATCH] animepahe: fix getting details and links --- src/en/animepahe/build.gradle | 2 +- .../animeextension/en/animepahe/AnimePahe.kt | 28 +++++++++++-------- .../en/animepahe/KwikExtractor.kt | 14 +++++++--- 3 files changed, 28 insertions(+), 16 deletions(-) diff --git a/src/en/animepahe/build.gradle b/src/en/animepahe/build.gradle index 8ea64ecff..99f7d329e 100644 --- a/src/en/animepahe/build.gradle +++ b/src/en/animepahe/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'AnimePahe' pkgNameSuffix = 'en.animepahe' extClass = '.AnimePahe' - extVersionCode = 13 + extVersionCode = 14 libVersion = '12' } diff --git a/src/en/animepahe/src/eu/kanade/tachiyomi/animeextension/en/animepahe/AnimePahe.kt b/src/en/animepahe/src/eu/kanade/tachiyomi/animeextension/en/animepahe/AnimePahe.kt index d366d7670..e253eded1 100644 --- a/src/en/animepahe/src/eu/kanade/tachiyomi/animeextension/en/animepahe/AnimePahe.kt +++ b/src/en/animepahe/src/eu/kanade/tachiyomi/animeextension/en/animepahe/AnimePahe.kt @@ -2,6 +2,7 @@ package eu.kanade.tachiyomi.animeextension.en.animepahe import android.app.Application import android.content.SharedPreferences +import android.util.Log import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat @@ -76,16 +77,19 @@ class AnimePahe : ConfigurableAnimeSource, AnimeHttpSource() { override val client: OkHttpClient = network.cloudflareClient override fun animeDetailsRequest(anime: SAnime): Request { - val responseString = runBlocking { + val animeId = anime.url.substringAfterLast("?anime_id=") + val session = getSession(anime.title, animeId) + return GET("$baseUrl/anime/$session?anime_id=$animeId") + } + + private fun getSession(title: String, animeId: String): String { + return runBlocking { withContext(Dispatchers.IO) { - client.newCall(GET("$baseUrl/api?m=search&q=${anime.title}")) + client.newCall(GET("$baseUrl/api?m=search&q=$title")) .execute().body!!.string() } - } - val animeId = anime.url.substringAfterLast("?anime_id=") - val session = responseString.substringAfter("\"id\":$animeId") + }.substringAfter("\"id\":$animeId") .substringAfter("\"session\":\"").substringBefore("\"") - return GET("$baseUrl/anime/$session?anime_id=$animeId") } override fun animeDetailsParse(response: Response): SAnime { @@ -170,7 +174,9 @@ class AnimePahe : ConfigurableAnimeSource, AnimeHttpSource() { override fun episodeListRequest(anime: SAnime): Request { val animeId = anime.url.substringAfterLast("?anime_id=") - return GET("$baseUrl/api?m=release&id=$animeId&sort=episode_desc&page=1") + val session = getSession(anime.title, animeId) + Log.i("bruh", session) + return GET("$baseUrl/api?m=release&id=$session&sort=episode_desc&page=1") } override fun episodeListParse(response: Response): List { @@ -224,16 +230,16 @@ class AnimePahe : ConfigurableAnimeSource, AnimeHttpSource() { val videos = mutableListOf