diff --git a/multisrc/overrides/dooplay/goanimes/additional.gradle b/multisrc/overrides/dooplay/goanimes/additional.gradle new file mode 100644 index 000000000..34b983bb1 --- /dev/null +++ b/multisrc/overrides/dooplay/goanimes/additional.gradle @@ -0,0 +1,3 @@ +dependencies { + implementation(project(":lib-fembed-extractor")) +} diff --git a/multisrc/overrides/dooplay/goanimes/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/dooplay/goanimes/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..28f83b4bf Binary files /dev/null and b/multisrc/overrides/dooplay/goanimes/res/mipmap-hdpi/ic_launcher.png differ diff --git a/multisrc/overrides/dooplay/goanimes/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/dooplay/goanimes/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..e2211ca35 Binary files /dev/null and b/multisrc/overrides/dooplay/goanimes/res/mipmap-mdpi/ic_launcher.png differ diff --git a/multisrc/overrides/dooplay/goanimes/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/dooplay/goanimes/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..25602ee3e Binary files /dev/null and b/multisrc/overrides/dooplay/goanimes/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/dooplay/goanimes/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/dooplay/goanimes/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..9a852ec06 Binary files /dev/null and b/multisrc/overrides/dooplay/goanimes/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/dooplay/goanimes/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/dooplay/goanimes/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..9d4d528e3 Binary files /dev/null and b/multisrc/overrides/dooplay/goanimes/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/dooplay/goanimes/src/GoAnimes.kt b/multisrc/overrides/dooplay/goanimes/src/GoAnimes.kt new file mode 100644 index 000000000..7347e3a1d --- /dev/null +++ b/multisrc/overrides/dooplay/goanimes/src/GoAnimes.kt @@ -0,0 +1,95 @@ +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.PlaylistExtractor +import eu.kanade.tachiyomi.animesource.model.SEpisode +import eu.kanade.tachiyomi.animesource.model.Video +import eu.kanade.tachiyomi.lib.fembedextractor.FembedExtractor +import eu.kanade.tachiyomi.multisrc.dooplay.DooPlay +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.util.asJsoup +import okhttp3.Response +import org.jsoup.nodes.Element + +class GoAnimes : DooPlay( + "pt-BR", + "GoAnimes", + "https://goanimes.net", +) { + // ============================== Popular =============================== + override fun popularAnimeSelector() = "div#featured-titles article.item.tvshows > div.poster" + + // ============================== Episodes ============================== + override val seasonListSelector = "div#seasons > *" + + override fun getSeasonEpisodes(season: Element): List { + // All episodes are listed under a single page + season.selectFirst(episodeListSelector())?.let { + return super.getSeasonEpisodes(season) + } + + // Episodes are listed at another page + val url = season.attr("href") + return client.newCall(GET(url)) + .execute() + .asJsoup() + .let { super.getSeasonEpisodes(it) } + } + + // ============================ Video Links ============================= + override val PREF_QUALITY_VALUES = arrayOf("240p", "360p", "480p", "720p", "1080p") + override val PREF_QUALITY_ENTRIES = PREF_QUALITY_VALUES + + override fun videoListParse(response: Response): List