diff --git a/multisrc/overrides/dooplay/goanimes/additional.gradle b/multisrc/overrides/dooplay/goanimes/additional.gradle new file mode 100644 index 000000000..bbef4073f --- /dev/null +++ b/multisrc/overrides/dooplay/goanimes/additional.gradle @@ -0,0 +1,4 @@ +dependencies { + implementation(project(":lib-playlist-utils")) + implementation("dev.datlag.jsunpacker:jsunpacker:1.0.1") +} diff --git a/multisrc/overrides/dooplay/goanimes/src/GoAnimes.kt b/multisrc/overrides/dooplay/goanimes/src/GoAnimes.kt index 938a672a7..709fa7b93 100644 --- a/multisrc/overrides/dooplay/goanimes/src/GoAnimes.kt +++ b/multisrc/overrides/dooplay/goanimes/src/GoAnimes.kt @@ -3,12 +3,17 @@ package eu.kanade.tachiyomi.animeextension.pt.goanimes import eu.kanade.tachiyomi.animeextension.pt.goanimes.extractors.BloggerJWPlayerExtractor import eu.kanade.tachiyomi.animeextension.pt.goanimes.extractors.GoAnimesExtractor import eu.kanade.tachiyomi.animeextension.pt.goanimes.extractors.JsDecoder +import eu.kanade.tachiyomi.animeextension.pt.goanimes.extractors.LinkfunBypasser import eu.kanade.tachiyomi.animeextension.pt.goanimes.extractors.PlaylistExtractor import eu.kanade.tachiyomi.animesource.model.SEpisode import eu.kanade.tachiyomi.animesource.model.Video import eu.kanade.tachiyomi.multisrc.dooplay.DooPlay import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.util.asJsoup +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.async +import kotlinx.coroutines.awaitAll +import kotlinx.coroutines.runBlocking import okhttp3.Response import org.jsoup.nodes.Element @@ -20,6 +25,9 @@ class GoAnimes : DooPlay( // ============================== Popular =============================== override fun popularAnimeSelector() = "div#featured-titles article.item.tvshows > div.poster" + // =============================== Latest =============================== + override val latestUpdatesPath = "lancamentos" + // ============================== Episodes ============================== override val seasonListSelector = "div#seasons > *" @@ -31,9 +39,9 @@ class GoAnimes : DooPlay( // Episodes are listed at another page val url = season.attr("href") - return client.newCall(GET(url)) + return client.newCall(GET(url, headers)) .execute() - .asJsoup() + .use { it.asJsoup() } .let(::getSeasonEpisodes) } @@ -60,20 +68,26 @@ class GoAnimes : DooPlay( override val prefQualityValues = arrayOf("240p", "360p", "480p", "720p", "1080p") override val prefQualityEntries = prefQualityValues + private val goanimesExtractor by lazy { GoAnimesExtractor(client, headers) } + private val linkfunBypasser by lazy { LinkfunBypasser(client) } + override fun videoListParse(response: Response): List