From 1c41dda68ceb9ce058d999b00caee88a8f3761cd Mon Sep 17 00:00:00 2001 From: Claudemirovsky <63046606+Claudemirovsky@users.noreply.github.com> Date: Thu, 1 Jun 2023 07:55:26 +0000 Subject: [PATCH] refactor: Convert Kinoking(de) to multisrc(dooplay) (#1665) --- .../dooplay/kinoking/additional.gradle | 5 + .../kinoking/res/mipmap-hdpi/ic_launcher.png | Bin .../mipmap-hdpi/ic_launcher_adaptive_back.png | Bin .../mipmap-hdpi/ic_launcher_adaptive_fore.png | Bin .../kinoking/res/mipmap-mdpi/ic_launcher.png | Bin .../mipmap-mdpi/ic_launcher_adaptive_back.png | Bin .../mipmap-mdpi/ic_launcher_adaptive_fore.png | Bin .../kinoking/res/mipmap-xhdpi/ic_launcher.png | Bin .../ic_launcher_adaptive_back.png | Bin .../ic_launcher_adaptive_fore.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../ic_launcher_adaptive_back.png | Bin .../ic_launcher_adaptive_fore.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../ic_launcher_adaptive_back.png | Bin .../ic_launcher_adaptive_fore.png | Bin .../dooplay/kinoking/src/Kinoking.kt | 145 ++++++++++ .../multisrc/dooplay/DooPlayGenerator.kt | 1 + src/de/kinoking/AndroidManifest.xml | 2 - src/de/kinoking/build.gradle | 19 -- .../de/kinoking/CloudflareInterceptor.kt | 88 ------ .../animeextension/de/kinoking/Kinoking.kt | 250 ------------------ 22 files changed, 151 insertions(+), 359 deletions(-) create mode 100644 multisrc/overrides/dooplay/kinoking/additional.gradle rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-hdpi/ic_launcher.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-hdpi/ic_launcher_adaptive_back.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-hdpi/ic_launcher_adaptive_fore.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-mdpi/ic_launcher.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-mdpi/ic_launcher_adaptive_back.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-mdpi/ic_launcher_adaptive_fore.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-xhdpi/ic_launcher.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-xhdpi/ic_launcher_adaptive_back.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-xxhdpi/ic_launcher.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png (100%) rename {src/de => multisrc/overrides/dooplay}/kinoking/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png (100%) create mode 100644 multisrc/overrides/dooplay/kinoking/src/Kinoking.kt delete mode 100644 src/de/kinoking/AndroidManifest.xml delete mode 100644 src/de/kinoking/build.gradle delete mode 100644 src/de/kinoking/src/eu/kanade/tachiyomi/animeextension/de/kinoking/CloudflareInterceptor.kt delete mode 100644 src/de/kinoking/src/eu/kanade/tachiyomi/animeextension/de/kinoking/Kinoking.kt diff --git a/multisrc/overrides/dooplay/kinoking/additional.gradle b/multisrc/overrides/dooplay/kinoking/additional.gradle new file mode 100644 index 000000000..b844a99f2 --- /dev/null +++ b/multisrc/overrides/dooplay/kinoking/additional.gradle @@ -0,0 +1,5 @@ +dependencies { + implementation(project(':lib-voe-extractor')) + implementation(project(':lib-streamsb-extractor')) + implementation(project(':lib-dood-extractor')) +} diff --git a/src/de/kinoking/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from src/de/kinoking/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-hdpi/ic_launcher.png diff --git a/src/de/kinoking/res/mipmap-hdpi/ic_launcher_adaptive_back.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-hdpi/ic_launcher_adaptive_back.png similarity index 100% rename from src/de/kinoking/res/mipmap-hdpi/ic_launcher_adaptive_back.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-hdpi/ic_launcher_adaptive_back.png diff --git a/src/de/kinoking/res/mipmap-hdpi/ic_launcher_adaptive_fore.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-hdpi/ic_launcher_adaptive_fore.png similarity index 100% rename from src/de/kinoking/res/mipmap-hdpi/ic_launcher_adaptive_fore.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-hdpi/ic_launcher_adaptive_fore.png diff --git a/src/de/kinoking/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from src/de/kinoking/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-mdpi/ic_launcher.png diff --git a/src/de/kinoking/res/mipmap-mdpi/ic_launcher_adaptive_back.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-mdpi/ic_launcher_adaptive_back.png similarity index 100% rename from src/de/kinoking/res/mipmap-mdpi/ic_launcher_adaptive_back.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-mdpi/ic_launcher_adaptive_back.png diff --git a/src/de/kinoking/res/mipmap-mdpi/ic_launcher_adaptive_fore.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-mdpi/ic_launcher_adaptive_fore.png similarity index 100% rename from src/de/kinoking/res/mipmap-mdpi/ic_launcher_adaptive_fore.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-mdpi/ic_launcher_adaptive_fore.png diff --git a/src/de/kinoking/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from src/de/kinoking/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-xhdpi/ic_launcher.png diff --git a/src/de/kinoking/res/mipmap-xhdpi/ic_launcher_adaptive_back.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-xhdpi/ic_launcher_adaptive_back.png similarity index 100% rename from src/de/kinoking/res/mipmap-xhdpi/ic_launcher_adaptive_back.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-xhdpi/ic_launcher_adaptive_back.png diff --git a/src/de/kinoking/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png similarity index 100% rename from src/de/kinoking/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png diff --git a/src/de/kinoking/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from src/de/kinoking/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-xxhdpi/ic_launcher.png diff --git a/src/de/kinoking/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png similarity index 100% rename from src/de/kinoking/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png diff --git a/src/de/kinoking/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png similarity index 100% rename from src/de/kinoking/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png diff --git a/src/de/kinoking/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from src/de/kinoking/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/src/de/kinoking/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png similarity index 100% rename from src/de/kinoking/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png diff --git a/src/de/kinoking/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png b/multisrc/overrides/dooplay/kinoking/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png similarity index 100% rename from src/de/kinoking/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png rename to multisrc/overrides/dooplay/kinoking/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png diff --git a/multisrc/overrides/dooplay/kinoking/src/Kinoking.kt b/multisrc/overrides/dooplay/kinoking/src/Kinoking.kt new file mode 100644 index 000000000..b3b31dd19 --- /dev/null +++ b/multisrc/overrides/dooplay/kinoking/src/Kinoking.kt @@ -0,0 +1,145 @@ +package eu.kanade.tachiyomi.animeextension.de.kinoking + +import androidx.preference.ListPreference +import androidx.preference.MultiSelectListPreference +import androidx.preference.PreferenceScreen +import eu.kanade.tachiyomi.animesource.model.Video +import eu.kanade.tachiyomi.lib.doodextractor.DoodExtractor +import eu.kanade.tachiyomi.lib.streamsbextractor.StreamSBExtractor +import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor +import eu.kanade.tachiyomi.multisrc.dooplay.DooPlay +import eu.kanade.tachiyomi.network.POST +import eu.kanade.tachiyomi.util.asJsoup +import okhttp3.FormBody +import okhttp3.Response +import org.jsoup.nodes.Element + +class Kinoking : DooPlay( + "de", + "Kinoking", + "https://kinoking.cc", +) { + companion object { + private const val PREF_HOSTER_KEY = "preferred_hoster" + private const val PREF_HOSTER_TITLE = "Standard-Hoster" + private const val PREF_HOSTER_DEFAULT = "https://dood" + private val PREF_HOSTER_ENTRIES = arrayOf("Doodstream", "StreamSB", "Voe") + private val PREF_HOSTER_VALUES = arrayOf("https://dood", "https://watchsb.com", "https://voe.sx") + + private const val PREF_HOSTER_SELECTION_KEY = "hoster_selection" + private const val PREF_HOSTER_SELECTION_TITLE = "Hoster auswählen" + private val PREF_HOSTER_SELECTION_ENTRIES = PREF_HOSTER_ENTRIES + private val PREF_HOSTER_SELECTION_VALUES = arrayOf("dood", "watchsb", "voe") + private val PREF_HOSTER_SELECTION_DEFAULT = PREF_HOSTER_SELECTION_ENTRIES.toSet() + } + + override val videoSortPrefKey = PREF_HOSTER_KEY + override val videoSortPrefDefault = PREF_HOSTER_DEFAULT + + override val client = network.cloudflareClient + + // ============================== Popular =============================== + override fun popularAnimeSelector(): String = "div#featured-titles div.poster" + + // ============================== Episodes ============================== + // Little workaround to show season episode names like the original extension + // TODO: Create a "getEpisodeName(element, seasonName)" function in DooPlay class + override fun episodeFromElement(element: Element, seasonName: String) = + super.episodeFromElement(element, seasonName).apply { + val substring = name.substringBefore(" -") + val newString = substring.replace("Season", "Staffel") + .replace("x", "Folge") + name = name.replace("$substring -", "$newString :") + } + + // =============================== Latest =============================== + override fun latestUpdatesNextPageSelector(): String = "#nextpagination" + + // ============================ Video Links ============================= + override fun videoListParse(response: Response): List