From b5fdaf0b9f48f2920ae09898b5925f849f788663 Mon Sep 17 00:00:00 2001 From: Claudemirovsky <63046606+Claudemirovsky@users.noreply.github.com> Date: Tue, 19 Sep 2023 03:45:04 -0300 Subject: [PATCH] fix(ar/witanime): Update baseUrl + fix episode & video list (#2215) --- src/ar/witanime/build.gradle | 2 +- .../tachiyomi/animeextension/ar/witanime/WitAnime.kt | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/ar/witanime/build.gradle b/src/ar/witanime/build.gradle index 74f6ab8b3..778dd618a 100644 --- a/src/ar/witanime/build.gradle +++ b/src/ar/witanime/build.gradle @@ -7,7 +7,7 @@ ext { extName = 'WIT ANIME' pkgNameSuffix = 'ar.witanime' extClass = '.WitAnime' - extVersionCode = 43 + extVersionCode = 44 libVersion = '13' } diff --git a/src/ar/witanime/src/eu/kanade/tachiyomi/animeextension/ar/witanime/WitAnime.kt b/src/ar/witanime/src/eu/kanade/tachiyomi/animeextension/ar/witanime/WitAnime.kt index fd41db131..2740ba7a4 100755 --- a/src/ar/witanime/src/eu/kanade/tachiyomi/animeextension/ar/witanime/WitAnime.kt +++ b/src/ar/witanime/src/eu/kanade/tachiyomi/animeextension/ar/witanime/WitAnime.kt @@ -1,6 +1,7 @@ package eu.kanade.tachiyomi.animeextension.ar.witanime import android.app.Application +import android.util.Base64 import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.animeextension.ar.witanime.extractors.SharedExtractor @@ -34,7 +35,7 @@ class WitAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val name = "WIT ANIME" - override val baseUrl = "https://witanime.live" + override val baseUrl = "https://witanime.fun" override val lang = "ar" @@ -116,7 +117,7 @@ class WitAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun episodeListSelector() = "div.ehover6 > div.episodes-card-title > h3 a" override fun episodeFromElement(element: Element) = SEpisode.create().apply { - setUrlWithoutDomain(element.attr("href")) + setUrlWithoutDomain(element.getEncodedUrl()) name = element.text() episode_number = name.substringAfterLast(" ").toFloatOrNull() ?: 0F } @@ -127,7 +128,7 @@ class WitAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { return document.select("ul#episode-servers li a") .distinctBy { it.text().substringBefore(" -") } // remove duplicates by server name .parallelMap { - val url = it.attr("data-ep-url") + val url = it.getEncodedUrl() runCatching { extractVideos(url) }.getOrElse { emptyList() } }.flatten() } @@ -224,6 +225,11 @@ class WitAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } ?: document } + private fun Element.getEncodedUrl() = attr("onclick") + .substringAfter("'") + .substringBefore("'") + .let { String(Base64.decode(it, Base64.DEFAULT)) } + companion object { // From TukTukCinema(AR) private val VIDBOM_REGEX by lazy { Regex("//(?:v[aie]d[bp][aoe]?m)") }