From e9064aedff354af958e6869c0742dfdad26514b3 Mon Sep 17 00:00:00 2001 From: Dark25 Date: Mon, 7 Oct 2024 23:20:20 +0200 Subject: [PATCH] Fix(es/AnimeOnlineNinja): Update AnimeOnlineNinja --- src/es/animeonlineninja/build.gradle | 6 +- .../es/animeonlineninja/AnimeOnlineNinja.kt | 90 ++++++++++++------- 2 files changed, 62 insertions(+), 34 deletions(-) diff --git a/src/es/animeonlineninja/build.gradle b/src/es/animeonlineninja/build.gradle index 0c7c9270b7..e6713ef025 100644 --- a/src/es/animeonlineninja/build.gradle +++ b/src/es/animeonlineninja/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.AnimeOnlineNinja' themePkg = 'dooplay' baseUrl = 'https://ww3.animeonline.ninja' - overrideVersionCode = 46 + overrideVersionCode = 47 } apply from: "$rootDir/common.gradle" @@ -14,5 +14,7 @@ dependencies { implementation(project(':lib:filemoon-extractor')) implementation(project(':lib:mixdrop-extractor')) implementation(project(':lib:uqload-extractor')) - implementation(project(':lib:universal-extractor')) + implementation(project(':lib:vidhide-extractor')) + implementation(project(':lib:streamwish-extractor')) + implementation(project(':lib:mp4upload-extractor')) } \ No newline at end of file diff --git a/src/es/animeonlineninja/src/eu/kanade/tachiyomi/animeextension/es/animeonlineninja/AnimeOnlineNinja.kt b/src/es/animeonlineninja/src/eu/kanade/tachiyomi/animeextension/es/animeonlineninja/AnimeOnlineNinja.kt index 59148ff18c..d031dce38a 100644 --- a/src/es/animeonlineninja/src/eu/kanade/tachiyomi/animeextension/es/animeonlineninja/AnimeOnlineNinja.kt +++ b/src/es/animeonlineninja/src/eu/kanade/tachiyomi/animeextension/es/animeonlineninja/AnimeOnlineNinja.kt @@ -4,16 +4,20 @@ import androidx.preference.CheckBoxPreference import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.animesource.model.AnimeFilterList +import eu.kanade.tachiyomi.animesource.model.SEpisode import eu.kanade.tachiyomi.animesource.model.Video import eu.kanade.tachiyomi.lib.doodextractor.DoodExtractor import eu.kanade.tachiyomi.lib.filemoonextractor.FilemoonExtractor import eu.kanade.tachiyomi.lib.mixdropextractor.MixDropExtractor +import eu.kanade.tachiyomi.lib.mp4uploadextractor.Mp4uploadExtractor import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor -import eu.kanade.tachiyomi.lib.universalextractor.UniversalExtractor +import eu.kanade.tachiyomi.lib.streamwishextractor.StreamWishExtractor import eu.kanade.tachiyomi.lib.uqloadextractor.UqloadExtractor +import eu.kanade.tachiyomi.lib.vidhideextractor.VidHideExtractor import eu.kanade.tachiyomi.multisrc.dooplay.DooPlay import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.util.asJsoup +import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document @@ -91,7 +95,7 @@ class AnimeOnlineNinja : DooPlay( } else if (path.startsWith("/letra") || path.startsWith("/tendencias")) { val before = path.substringBeforeLast("/") val after = path.substringAfterLast("/") - GET(baseUrl + before + "/page/$page/" + after) + GET("$baseUrl$before/page/$page/$after") } else { GET("$baseUrl$path/page/$page") } @@ -100,11 +104,29 @@ class AnimeOnlineNinja : DooPlay( // ============================== Episodes ============================== override val episodeMovieText = "PelĂ­cula" + override fun episodeListParse(response: Response): List { + val doc = getRealAnimeDoc(response.asJsoup()) + val seasonList = doc.select(seasonListSelector) + return if (seasonList.isEmpty()) { + listOf( + SEpisode.create().apply { + setUrlWithoutDomain(doc.location()) + episode_number = 1F + name = episodeMovieText + }, + ) + } else { + seasonList.reversed().flatMap { seasonElement -> + getSeasonEpisodes(seasonElement).reversed() + } + } + } + // ============================ Video Links ============================= override fun videoListParse(response: Response): List