From ea1928731f2133deab5e510317617c29ba5124c9 Mon Sep 17 00:00:00 2001 From: Salman Ali Date: Wed, 25 Oct 2023 16:27:57 +0545 Subject: [PATCH] feat(src/en): New source: AnimeTake (#2411) --- src/en/animetake/AndroidManifest.xml | 2 + src/en/animetake/build.gradle | 18 ++ .../animetake/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2819 bytes .../animetake/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1621 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 3579 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6334 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 8883 bytes src/en/animetake/res/web_hi_res_512.png | Bin 0 -> 30615 bytes .../animeextension/en/animetake/AnimeTake.kt | 289 ++++++++++++++++++ .../en/animetake/AnimeTakeFilters.kt | 169 ++++++++++ .../extractors/VidstreamingExtractor.kt | 135 ++++++++ 11 files changed, 613 insertions(+) create mode 100644 src/en/animetake/AndroidManifest.xml create mode 100644 src/en/animetake/build.gradle create mode 100644 src/en/animetake/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/en/animetake/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/en/animetake/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/en/animetake/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/en/animetake/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/en/animetake/res/web_hi_res_512.png create mode 100644 src/en/animetake/src/eu/kanade/tachiyomi/animeextension/en/animetake/AnimeTake.kt create mode 100644 src/en/animetake/src/eu/kanade/tachiyomi/animeextension/en/animetake/AnimeTakeFilters.kt create mode 100644 src/en/animetake/src/eu/kanade/tachiyomi/animeextension/en/animetake/extractors/VidstreamingExtractor.kt diff --git a/src/en/animetake/AndroidManifest.xml b/src/en/animetake/AndroidManifest.xml new file mode 100644 index 000000000..568741e54 --- /dev/null +++ b/src/en/animetake/AndroidManifest.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/en/animetake/build.gradle b/src/en/animetake/build.gradle new file mode 100644 index 000000000..b7ce72931 --- /dev/null +++ b/src/en/animetake/build.gradle @@ -0,0 +1,18 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +ext { + extName = 'AnimeTake' + pkgNameSuffix = 'en.animetake' + extClass = '.AnimeTake' + extVersionCode = 1 + containsNsfw = false +} + +dependencies { + implementation(project(":lib-dood-extractor")) + implementation(project(":lib-mp4upload-extractor")) + implementation(project(":lib-filemoon-extractor")) +} + +apply from: "$rootDir/common.gradle" \ No newline at end of file diff --git a/src/en/animetake/res/mipmap-hdpi/ic_launcher.png b/src/en/animetake/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..52f98160588ce1b8bce2b365f3cc831481f9c6ab GIT binary patch literal 2819 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 Bx10a~ literal 0 HcmV?d00001 diff --git a/src/en/animetake/res/mipmap-xxhdpi/ic_launcher.png b/src/en/animetake/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..570d73776aa947b566a27d9aafb6e9e192570466 GIT binary patch literal 6334 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 A#sB~S literal 0 HcmV?d00001 diff --git a/src/en/animetake/res/mipmap-xxxhdpi/ic_launcher.png b/src/en/animetake/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..e2532e5d8dd8c6f589778810090bd29eaf27b182 GIT binary patch literal 8883 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 F{{v%QR-OO= literal 0 HcmV?d00001 diff --git a/src/en/animetake/src/eu/kanade/tachiyomi/animeextension/en/animetake/AnimeTake.kt b/src/en/animetake/src/eu/kanade/tachiyomi/animeextension/en/animetake/AnimeTake.kt new file mode 100644 index 000000000..b01f81fea --- /dev/null +++ b/src/en/animetake/src/eu/kanade/tachiyomi/animeextension/en/animetake/AnimeTake.kt @@ -0,0 +1,289 @@ +package eu.kanade.tachiyomi.animeextension.en.animetake + +import android.app.Application +import android.content.SharedPreferences +import androidx.preference.ListPreference +import androidx.preference.PreferenceScreen +import eu.kanade.tachiyomi.animeextension.en.animetake.extractors.VidstreamingExtractor +import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource +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.animesource.online.ParsedAnimeHttpSource +import eu.kanade.tachiyomi.lib.doodextractor.DoodExtractor +import eu.kanade.tachiyomi.lib.filemoonextractor.FilemoonExtractor +import eu.kanade.tachiyomi.lib.mp4uploadextractor.Mp4uploadExtractor +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.OkHttpClient +import okhttp3.Request +import okhttp3.Response +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import uy.kohesive.injekt.Injekt +import uy.kohesive.injekt.api.get +import java.text.SimpleDateFormat +import java.util.Locale + +class AnimeTake : ConfigurableAnimeSource, ParsedAnimeHttpSource() { + + override val name = "AnimeTake" + + override val baseUrl = "https://animetake.tv" + + override val lang = "en" + + override val supportsLatest = true + + override val client: OkHttpClient = network.cloudflareClient + + private val preferences: SharedPreferences by lazy { + Injekt.get().getSharedPreferences("source_$id", 0x0000) + } + + // ============================== Popular =============================== + override fun popularAnimeRequest(page: Int) = GET("$baseUrl/animelist/popular") + + override fun popularAnimeSelector() = "div.col-sm-6" + + override fun popularAnimeFromElement(element: Element): SAnime { + return SAnime.create().apply { + setUrlWithoutDomain(element.select("div > a").attr("href")) + thumbnail_url = baseUrl + element.select("div.latestep_image > img").attr("data-src") + title = element.select("span.latestep_title > h4").first()!!.ownText() + } + } + + override fun popularAnimeNextPageSelector() = "ul.pagination > li.page-item:last-child" + + // =============================== Latest =============================== + override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/animelist/?page=$page") + + override fun latestUpdatesSelector() = popularAnimeSelector() + + override fun latestUpdatesNextPageSelector() = popularAnimeNextPageSelector() + + override fun latestUpdatesFromElement(element: Element) = popularAnimeFromElement(element) + + // =============================== Search =============================== + override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request { + val params = AnimeTakeFilters.getSearchParameters(filters) + val cleanQuery = query.replace(" ", "+").lowercase() + return if (query.isNotEmpty()) { + GET("$baseUrl/search/?search=$cleanQuery&page=$page") + } else { + val multiString = buildString { + if (params.letters.isNotEmpty()) append(params.letters + "&") + if (params.genres.isNotEmpty()) append(params.genres + "&") + if (params.score.isNotEmpty()) append(params.score + "&") + if (params.years.isNotEmpty()) append(params.years + "&") + if (params.ratings.isNotEmpty()) append(params.ratings + "&") + } + GET("$baseUrl/animelist/?page=$page&$multiString") + } + } + + override fun searchAnimeSelector() = popularAnimeSelector() + + override fun searchAnimeNextPageSelector() = popularAnimeNextPageSelector() + + override fun searchAnimeFromElement(element: Element) = popularAnimeFromElement(element) + + // ============================== Filters =============================== + override fun getFilterList() = AnimeTakeFilters.FILTER_LIST + + // =========================== Anime Details ============================ + override fun animeDetailsParse(document: Document): SAnime { + val anime = SAnime.create() + anime.title = document.select("h3 > b").text() + anime.genre = document.select("a.animeinfo_label").joinToString { + it.select("span").text() + } + anime.description = document.select("div.visible-md").first()!!.ownText() + anime.status = + parseStatus(document.select("div.well > center:contains(Next Episode)").isNotEmpty()) + document.select("div.well > p").first()!!.text().let { + if (it.isBlank().not()) { + anime.description = when { + anime.description.isNullOrBlank() -> it + else -> anime.description + "\n\n" + it + } + } + } + return anime + } + + // ============================== Episodes ============================== + override fun episodeListSelector() = "div#eps > div > a[href]" + + override fun episodeListParse(response: Response): List { + val document = response.asJsoup() + val episodesLink = document.select(episodeListSelector()) + return episodesLink.map(::episodeFromElement).reversed() + } + + override fun episodeFromElement(element: Element): SEpisode { + return SEpisode.create().apply { + setUrlWithoutDomain(element.attr("href")) + val upDate = element.select("div.col-xs-12 > span.label").text() + date_upload = parseDate(upDate) + val epName = element.select("div.col-xs-12 > div.anime-title > b").text() + name = epName + episode_number = 0F + } + } + + // ============================ Video Links ============================= + private val doodExtractor by lazy { DoodExtractor(client) } + private val mp4uploadExtractor by lazy { Mp4uploadExtractor(client) } + private val vidstreamingExtractor by lazy { VidstreamingExtractor(client) } + private val filemoonExtractor by lazy { FilemoonExtractor(client) } + + override fun videoListParse(response: Response): List