From 99d4cc0188ad3d89a62cc6fda7b992227711a7d5 Mon Sep 17 00:00:00 2001 From: Claudemirovsky <63046606+Claudemirovsky@users.noreply.github.com> Date: Thu, 14 Dec 2023 06:59:30 -0300 Subject: [PATCH] feat(multisrc/fr): New source: VoirCartoon (#2639) --- .../dooplay/voircartoon/additional.gradle | 3 + .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4909 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2735 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 7320 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 12275 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 12524 bytes .../dooplay/voircartoon/src/VoirCartoon.kt | 138 ++++++++++++ .../voircartoon/src/VoirCartoonFilters.kt | 198 ++++++++++++++++++ .../src/extractors/ComedyShowExtractor.kt | 47 +++++ .../multisrc/dooplay/DooPlayGenerator.kt | 1 + 10 files changed, 387 insertions(+) create mode 100644 multisrc/overrides/dooplay/voircartoon/additional.gradle create mode 100644 multisrc/overrides/dooplay/voircartoon/res/mipmap-hdpi/ic_launcher.png create mode 100644 multisrc/overrides/dooplay/voircartoon/res/mipmap-mdpi/ic_launcher.png create mode 100644 multisrc/overrides/dooplay/voircartoon/res/mipmap-xhdpi/ic_launcher.png create mode 100644 multisrc/overrides/dooplay/voircartoon/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 multisrc/overrides/dooplay/voircartoon/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 multisrc/overrides/dooplay/voircartoon/src/VoirCartoon.kt create mode 100644 multisrc/overrides/dooplay/voircartoon/src/VoirCartoonFilters.kt create mode 100644 multisrc/overrides/dooplay/voircartoon/src/extractors/ComedyShowExtractor.kt diff --git a/multisrc/overrides/dooplay/voircartoon/additional.gradle b/multisrc/overrides/dooplay/voircartoon/additional.gradle new file mode 100644 index 000000000..6b4989bb4 --- /dev/null +++ b/multisrc/overrides/dooplay/voircartoon/additional.gradle @@ -0,0 +1,3 @@ +dependencies { + implementation(project(":lib-playlist-utils")) +} diff --git a/multisrc/overrides/dooplay/voircartoon/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/dooplay/voircartoon/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..2767200221bcd4d69921295dc1ce9d4d7fff0017 GIT binary patch literal 4909 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 z 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 Cx{xLS literal 0 HcmV?d00001 diff --git a/multisrc/overrides/dooplay/voircartoon/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/dooplay/voircartoon/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..61bc27b5ba3ed164797e7c7fa3dabb85256c9149 GIT binary patch literal 12524 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

FnkrY%FTMawD% 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 O04U3=%T+_oBmM_Ok>O_m literal 0 HcmV?d00001 diff --git a/multisrc/overrides/dooplay/voircartoon/src/VoirCartoon.kt b/multisrc/overrides/dooplay/voircartoon/src/VoirCartoon.kt new file mode 100644 index 000000000..d5382168d --- /dev/null +++ b/multisrc/overrides/dooplay/voircartoon/src/VoirCartoon.kt @@ -0,0 +1,138 @@ +package eu.kanade.tachiyomi.animeextension.fr.voircartoon + +import eu.kanade.tachiyomi.animeextension.fr.voircartoon.extractors.ComedyShowExtractor +import eu.kanade.tachiyomi.animesource.model.AnimeFilterList +import eu.kanade.tachiyomi.animesource.model.SAnime +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 okhttp3.HttpUrl +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.Request +import okhttp3.Response +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element + +class VoirCartoon : DooPlay( + "fr", + "VoirCartoon", + "https://voircartoon.com", +) { + // ============================== Popular =============================== + override fun popularAnimeRequest(page: Int) = GET("$baseUrl/tendance/page/$page/", headers) + + override fun popularAnimeSelector() = latestUpdatesSelector() + + override fun popularAnimeNextPageSelector() = "div.pagination a.arrow_pag > i#nextpagination" + + // =============================== Latest =============================== + override val supportsLatest = false + + // =============================== Search =============================== + override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request { + return when { + query.isBlank() -> { + val params = VoirCartoonFilters.getSearchParameters(filters) + + val httpUrl = "$baseUrl/filter/page/$page/".toHttpUrl().newBuilder() + .addIfNotBlank("type", params.type) + .addIfNotBlank("genre", params.genre) + .addIfNotBlank("dtyear", params.year) + .addIfNotBlank("status", params.status) + .addIfNotBlank("post_tag", params.age) + .build() + + GET(httpUrl.toString(), headers) + } + else -> GET("$baseUrl/page/$page/?s=$query", headers) + } + } + + override fun searchAnimeNextPageSelector() = popularAnimeNextPageSelector() + + // ============================== Filters =============================== + override val fetchGenres = false + + override fun getFilterList() = VoirCartoonFilters.FILTER_LIST + + // =========================== Anime Details ============================ + override fun animeDetailsParse(document: Document) = + super.animeDetailsParse(document).apply { + val statusText = document.selectFirst("div.mvic-info p:contains(Status:) > a[rel]") + ?.text() + .orEmpty() + status = parseStatus(statusText) + } + + private fun parseStatus(status: String): Int { + return when (status) { + "Ongoing" -> SAnime.ONGOING + "Completed" -> SAnime.COMPLETED + else -> SAnime.UNKNOWN + } + } + + // ============================== Episodes ============================== + override fun episodeListParse(response: Response): List { + val doc = response.use { it.asJsoup() } + val episodeList = doc.select(episodeListSelector()) + return if (episodeList.size < 1) { + SEpisode.create().apply { + setUrlWithoutDomain(doc.location()) + episode_number = 1F + name = episodeMovieText + }.let(::listOf) + } else { + episodeList.map(::episodeFromElement).reversed() + } + } + + override fun episodeFromElement(element: Element) = SEpisode.create().apply { + val epNum = element.selectFirst("div.numerando")!!.text() + .trim() + .let(episodeNumberRegex::find) + ?.groupValues + ?.last() ?: "0" + val href = element.selectFirst("a[href]")!! + val episodeName = href.ownText() + episode_number = epNum.toFloatOrNull() ?: 0F + name = "Saison" + episodeName.substringAfterLast("Saison") + setUrlWithoutDomain(href.attr("href")) + } + + // ============================ Video Links ============================= + private val comedyshowExtractor by lazy { ComedyShowExtractor(client) } + + override fun videoListParse(response: Response): List