From 09985e36cfd0710dc0331efc5b416f8d105d8fd9 Mon Sep 17 00:00:00 2001 From: Claudemirovsky <63046606+Claudemirovsky@users.noreply.github.com> Date: Sun, 25 Jun 2023 12:02:27 +0000 Subject: [PATCH] fix(id/minioppai): Migrate to Animestream + add search filters (#1778) --- .../animestream/minioppai/additional.gradle | 4 + .../minioppai/res/mipmap-hdpi/ic_launcher.png | Bin .../minioppai/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../minioppai/res/web_hi_res_512.png | Bin .../animestream/minioppai/src/MiniOppai.kt | 125 +++++++++++ .../minioppai/src/MiniOppaiFilters.kt | 202 ++++++++++++++++++ .../src/extractors/MiniOppaiExtractor.kt | 51 +++++ .../animestream/AnimeStreamGenerator.kt | 1 + src/id/minioppai/AndroidManifest.xml | 2 - src/id/minioppai/build.gradle | 13 -- .../animeextension/id/minioppai/MiniOppai.kt | 185 ---------------- 14 files changed, 383 insertions(+), 200 deletions(-) create mode 100644 multisrc/overrides/animestream/minioppai/additional.gradle rename {src/id => multisrc/overrides/animestream}/minioppai/res/mipmap-hdpi/ic_launcher.png (100%) rename {src/id => multisrc/overrides/animestream}/minioppai/res/mipmap-mdpi/ic_launcher.png (100%) rename {src/id => multisrc/overrides/animestream}/minioppai/res/mipmap-xhdpi/ic_launcher.png (100%) rename {src/id => multisrc/overrides/animestream}/minioppai/res/mipmap-xxhdpi/ic_launcher.png (100%) rename {src/id => multisrc/overrides/animestream}/minioppai/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename {src/id => multisrc/overrides/animestream}/minioppai/res/web_hi_res_512.png (100%) create mode 100644 multisrc/overrides/animestream/minioppai/src/MiniOppai.kt create mode 100644 multisrc/overrides/animestream/minioppai/src/MiniOppaiFilters.kt create mode 100644 multisrc/overrides/animestream/minioppai/src/extractors/MiniOppaiExtractor.kt delete mode 100644 src/id/minioppai/AndroidManifest.xml delete mode 100644 src/id/minioppai/build.gradle delete mode 100644 src/id/minioppai/src/eu/kanade/tachiyomi/animeextension/id/minioppai/MiniOppai.kt diff --git a/multisrc/overrides/animestream/minioppai/additional.gradle b/multisrc/overrides/animestream/minioppai/additional.gradle new file mode 100644 index 000000000..06365ffee --- /dev/null +++ b/multisrc/overrides/animestream/minioppai/additional.gradle @@ -0,0 +1,4 @@ +dependencies { + implementation(project(":lib-gdriveplayer-extractor")) + implementation(project(":lib-unpacker")) +} diff --git a/src/id/minioppai/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/animestream/minioppai/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from src/id/minioppai/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/animestream/minioppai/res/mipmap-hdpi/ic_launcher.png diff --git a/src/id/minioppai/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/animestream/minioppai/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from src/id/minioppai/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/animestream/minioppai/res/mipmap-mdpi/ic_launcher.png diff --git a/src/id/minioppai/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/animestream/minioppai/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from src/id/minioppai/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/animestream/minioppai/res/mipmap-xhdpi/ic_launcher.png diff --git a/src/id/minioppai/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/animestream/minioppai/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from src/id/minioppai/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/animestream/minioppai/res/mipmap-xxhdpi/ic_launcher.png diff --git a/src/id/minioppai/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/animestream/minioppai/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from src/id/minioppai/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/animestream/minioppai/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/src/id/minioppai/res/web_hi_res_512.png b/multisrc/overrides/animestream/minioppai/res/web_hi_res_512.png similarity index 100% rename from src/id/minioppai/res/web_hi_res_512.png rename to multisrc/overrides/animestream/minioppai/res/web_hi_res_512.png diff --git a/multisrc/overrides/animestream/minioppai/src/MiniOppai.kt b/multisrc/overrides/animestream/minioppai/src/MiniOppai.kt new file mode 100644 index 000000000..1687f8e16 --- /dev/null +++ b/multisrc/overrides/animestream/minioppai/src/MiniOppai.kt @@ -0,0 +1,125 @@ +package eu.kanade.tachiyomi.animeextension.id.minioppai + +import eu.kanade.tachiyomi.animeextension.id.minioppai.extractors.MiniOppaiExtractor +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.lib.gdriveplayerextractor.GdrivePlayerExtractor +import eu.kanade.tachiyomi.multisrc.animestream.AnimeStream +import eu.kanade.tachiyomi.network.GET +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.Request +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import java.text.SimpleDateFormat +import java.util.Locale + +class MiniOppai : AnimeStream( + "id", + "MiniOppai", + "https://minioppai.org", +) { + override fun headersBuilder() = super.headersBuilder().add("Referer", baseUrl) + + override val animeListUrl = "$baseUrl/advanced-search" + + override val dateFormatter by lazy { + SimpleDateFormat("MMMM d, yyyy", Locale(lang)) + } + + // ============================== Popular =============================== + override fun popularAnimeRequest(page: Int) = GET("$animeListUrl/page/$page/?order=popular") + + // =============================== Latest =============================== + override fun latestUpdatesRequest(page: Int) = GET("$animeListUrl/page/$page/?order=update") + + // ============================== Episodes ============================== + override fun episodeListSelector() = "div.epsdlist > ul > li > a" + + override fun episodeFromElement(element: Element): SEpisode { + return SEpisode.create().apply { + setUrlWithoutDomain(element.attr("href")) + element.selectFirst(".epl-num")!!.text().let { + val num = it.substringAfterLast(" ") + episode_number = num.toFloatOrNull() ?: 0F + name = when { + it.contains("OVA", true) -> "OVA $num" + else -> "Episode $num" + } + } + element.selectFirst(".epl-sub")?.text()?.let { scanlator = it } + date_upload = element.selectFirst(".epl-date")?.text().toDate() + } + } + + // ============================ Video Links ============================= + override fun getVideoList(url: String, name: String): List