From 6a1fb2c074353daa0643b4e5e04338c344f0c92e Mon Sep 17 00:00:00 2001 From: Claudemirovsky <63046606+Claudemirovsky@users.noreply.github.com> Date: Mon, 12 Jun 2023 06:38:55 +0000 Subject: [PATCH] refactor(src/pt): Refactorate some extensions (#1713) --- src/pt/animefire/build.gradle | 9 +- .../pt/animefire/AFConstants.kt | 9 - .../animeextension/pt/animefire/AFFilters.kt | 2 +- .../pt/animefire/AFUrlActivity.kt | 2 +- .../animeextension/pt/animefire/AnimeFire.kt | 159 ++++++++--------- .../animefire/extractors/IframeExtractor.kt | 6 +- .../pt/animesaria/AnimesAria.kt | 86 +++++----- src/pt/animestc/build.gradle | 8 +- .../animeextension/pt/animestc/ATCFilters.kt | 31 ++-- .../animeextension/pt/animestc/AnimesTC.kt | 57 +++---- .../animeextension/pt/anitube/Anitube.kt | 160 ++++++++---------- src/pt/betteranime/build.gradle | 8 +- .../pt/betteranime/BAUrlActivity.kt | 2 +- .../pt/betteranime/BetterAnime.kt | 78 ++++----- src/pt/hinatasoul/build.gradle | 6 +- .../pt/hinatasoul/HinataSoul.kt | 147 +++++++--------- src/pt/meusanimes/build.gradle | 6 +- .../animeextension/pt/meusanimes/MAFilters.kt | 2 +- .../pt/meusanimes/MeusAnimes.kt | 81 ++++----- .../pt/meusanimes/MeusAnimesUrlActivity.kt | 4 - .../extractors/MeusAnimesExtractor.kt | 10 +- src/pt/vizer/build.gradle | 10 +- .../animeextension/pt/vizer/Vizer.kt | 80 ++++----- .../animeextension/pt/vizer/VizerFilters.kt | 4 +- .../pt/vizer/extractors/MixDropExtractor.kt | 27 --- 25 files changed, 419 insertions(+), 575 deletions(-) delete mode 100644 src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AFConstants.kt delete mode 100644 src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/extractors/MixDropExtractor.kt diff --git a/src/pt/animefire/build.gradle b/src/pt/animefire/build.gradle index f10d2dc67..d2fa09ad3 100644 --- a/src/pt/animefire/build.gradle +++ b/src/pt/animefire/build.gradle @@ -1,6 +1,8 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply plugin: 'kotlinx-serialization' +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.serialization) +} ext { extName = 'Anime Fire' @@ -10,5 +12,4 @@ ext { libVersion = '13' } - apply from: "$rootDir/common.gradle" diff --git a/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AFConstants.kt b/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AFConstants.kt deleted file mode 100644 index b7ce89608..000000000 --- a/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AFConstants.kt +++ /dev/null @@ -1,9 +0,0 @@ -package eu.kanade.tachiyomi.animeextension.pt.animefire - -object AFConstants { - const val ACCEPT_LANGUAGE = "pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7" - const val USER_AGENT = "Mozilla/5.0 (Linux; Android 10; SM-A307GT Build/QP1A.190711.020;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.5005.125 Mobile Safari/537.36" - const val PREFERRED_QUALITY = "preferred_quality" - const val PREFIX_SEARCH = "id:" - val QUALITY_LIST = arrayOf("360p", "720p") -} diff --git a/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AFFilters.kt b/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AFFilters.kt index 6fd67345d..dabf2968d 100644 --- a/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AFFilters.kt +++ b/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AFFilters.kt @@ -16,7 +16,7 @@ object AFFilters { } private inline fun AnimeFilterList.asQueryPart(): String { - return this.filterIsInstance().joinToString("") { + return first { it is R }.let { (it as QueryPartFilter).toQueryPart() } } diff --git a/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AFUrlActivity.kt b/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AFUrlActivity.kt index 604b82305..84024f50b 100644 --- a/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AFUrlActivity.kt +++ b/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AFUrlActivity.kt @@ -20,7 +20,7 @@ class AFUrlActivity : Activity() { val pathSegments = intent?.data?.pathSegments if (pathSegments != null && pathSegments.size > 1) { val id = pathSegments[1] - val searchQuery = AFConstants.PREFIX_SEARCH + id + val searchQuery = AnimeFire.PREFIX_SEARCH + id val mainIntent = Intent().apply { action = "eu.kanade.tachiyomi.ANIMESEARCH" putExtra("query", searchQuery) diff --git a/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AnimeFire.kt b/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AnimeFire.kt index e5404865f..8008041be 100644 --- a/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AnimeFire.kt +++ b/src/pt/animefire/src/eu/kanade/tachiyomi/animeextension/pt/animefire/AnimeFire.kt @@ -17,7 +17,6 @@ import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.asObservableSuccess import eu.kanade.tachiyomi.util.asJsoup import kotlinx.serialization.json.Json -import okhttp3.Headers import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response @@ -26,6 +25,7 @@ import org.jsoup.nodes.Element import rx.Observable import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get +import uy.kohesive.injekt.injectLazy import java.lang.Exception class AnimeFire : ConfigurableAnimeSource, ParsedAnimeHttpSource() { @@ -40,17 +40,15 @@ class AnimeFire : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val client: OkHttpClient = network.cloudflareClient - private val json = Json { - ignoreUnknownKeys = true - } + private val json: Json by injectLazy() private val preferences: SharedPreferences by lazy { Injekt.get().getSharedPreferences("source_$id", 0x0000) } - override fun headersBuilder(): Headers.Builder = Headers.Builder() + override fun headersBuilder() = super.headersBuilder() .add("Referer", baseUrl) - .add("Accept-Language", AFConstants.ACCEPT_LANGUAGE) + .add("Accept-Language", ACCEPT_LANGUAGE) // ============================== Popular =============================== override fun popularAnimeSelector() = latestUpdatesSelector() @@ -62,25 +60,21 @@ class AnimeFire : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun episodeListSelector(): String = "div.div_video_list > a" override fun episodeListParse(response: Response) = super.episodeListParse(response).reversed() - override fun episodeFromElement(element: Element): SEpisode { - val episode = SEpisode.create() + override fun episodeFromElement(element: Element) = SEpisode.create().apply { val url = element.attr("href") - episode.setUrlWithoutDomain(url) - episode.name = element.text() - episode.episode_number = try { - url.substringAfterLast("/").toFloat() - } catch (e: NumberFormatException) { 0F } - return episode + setUrlWithoutDomain(url) + name = element.text() + episode_number = url.substringAfterLast("/").toFloatOrNull() ?: 0F } // ============================ Video Links ============================= override fun videoListParse(response: Response): List