From 3fb3d4e2b17a853cf89f9385d0445da64786a04d Mon Sep 17 00:00:00 2001 From: adly98 <111687237+adly98@users.noreply.github.com> Date: Tue, 15 Nov 2022 12:48:25 +0200 Subject: [PATCH] fix movizland and tuktukcinema (#1025) --- src/ar/movizland/build.gradle | 2 +- .../animeextension/ar/movizland/Movizland.kt | 122 ++++++++---------- src/ar/tuktukcinema/build.gradle | 4 +- .../ar/tuktukcinema/Tuktukcinema.kt | 72 +++++------ 4 files changed, 96 insertions(+), 104 deletions(-) diff --git a/src/ar/movizland/build.gradle b/src/ar/movizland/build.gradle index f00973b21..88dbc158f 100644 --- a/src/ar/movizland/build.gradle +++ b/src/ar/movizland/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'موفيزلاند' pkgNameSuffix = 'ar.movizland' extClass = '.Movizland' - extVersionCode = 9 + extVersionCode = 10 libVersion = '13' } diff --git a/src/ar/movizland/src/eu/kanade/tachiyomi/animeextension/ar/movizland/Movizland.kt b/src/ar/movizland/src/eu/kanade/tachiyomi/animeextension/ar/movizland/Movizland.kt index eb4af87b9..2c9f56686 100644 --- a/src/ar/movizland/src/eu/kanade/tachiyomi/animeextension/ar/movizland/Movizland.kt +++ b/src/ar/movizland/src/eu/kanade/tachiyomi/animeextension/ar/movizland/Movizland.kt @@ -29,13 +29,13 @@ import org.jsoup.nodes.Element import org.jsoup.select.Elements import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get -import java.lang.Exception +import kotlin.Exception class Movizland : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val name = "موفيزلاند" - override val baseUrl = "https://watch.movizland.cyou" + override val baseUrl = "https://movizland.icu" override val lang = "ar" @@ -47,45 +47,24 @@ class Movizland : ConfigurableAnimeSource, ParsedAnimeHttpSource() { Injekt.get().getSharedPreferences("source_$id", 0x0000) } - // Popular - private fun titleEdit(title: String, details: Boolean = false): String { - return if (Regex("فيلم (.*?) مترجم").containsMatchIn(title)) - Regex("فيلم (.*?) مترجم").find(title)!!.groupValues[1] + " (فيلم)" // افلام اجنبيه مترجمه - else if (Regex("فيلم (.*?) مدبلج").containsMatchIn(title)) - Regex("فيلم (.*?) مدبلج").find(title)!!.groupValues[1] + " (مدبلج)(فيلم)" // افلام اجنبيه مدبلجه - else if (Regex("فيلم ([^a-zA-Z]+) ([0-9]+)").containsMatchIn(title)) // افلام عربى - Regex("فيلم ([^a-zA-Z]+) ([0-9]+)").find(title)!!.groupValues[1] + " (فيلم)" - else if (title.contains("مسلسل")) { - if (title.contains("الموسم") and details) { - val newTitle = Regex("مسلسل (.*?) الموسم (.*?) الحلقة ([0-9]+)").find(title) - "${newTitle!!.groupValues[1]} (م.${newTitle.groupValues[2]})(${newTitle.groupValues[3]}ح)" - } else if (title.contains("الحلقة")and details) { - val newTitle = Regex("مسلسل (.*?) الحلقة ([0-9]+)").find(title) - "${newTitle!!.groupValues[1]} (${newTitle.groupValues[2]}ح)" - } else Regex(if (title.contains("الموسم")) "مسلسل (.*?) الموسم" else "مسلسل (.*?) الحلقة").find(title)!!.groupValues[1] + " (مسلسل)" - } else if (title.contains("انمي")) - return Regex(if (title.contains("الموسم"))"انمي (.*?) الموسم" else "انمي (.*?) الحلقة").find(title)!!.groupValues[1] + " (انمى)" - else if (title.contains("برنامج")) - Regex(if (title.contains("الموسم"))"برنامج (.*?) الموسم" else "برنامج (.*?) الحلقة").find(title)!!.groupValues[1] + " (برنامج)" - else - title - } + // ============================= popular ============================= - override fun popularAnimeSelector(): String = "div.BlockItem" + override fun popularAnimeSelector(): String = "div.BlockItem a" override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/page/$page/") override fun popularAnimeFromElement(element: Element): SAnime { val anime = SAnime.create() - anime.thumbnail_url = element.select("a div.BlockImageItem img").attr("data-src") - anime.setUrlWithoutDomain(element.select("a").attr("href")) - anime.title = titleEdit(element.select("a div.BlockImageItem img").attr("alt")) + anime.thumbnail_url = element.select("div.BlockImageItem img").attr("data-src") + anime.setUrlWithoutDomain(element.attr("href")) + anime.title = titleEdit(element.select("div.BlockImageItem img").attr("alt"), true) return anime } override fun popularAnimeNextPageSelector(): String = "div.pagination li a.next" - // episodes + // ============================= episodes ============================= + private fun seasonsNextPageSelector() = "div.BlockItem a" override fun episodeListParse(response: Response): List { @@ -97,13 +76,11 @@ class Movizland : ConfigurableAnimeSource, ParsedAnimeHttpSource() { if (type == "assembly") episode.name = title.replace("فيلم", "").trim() else if (type == "movie") - episode.name = "watch" - else if (Regex("الموسم (.*)").containsMatchIn(title)) - episode.name = Regex("الموسم (.*)").find(title)!!.value.replace("مترجمة", "").replace("والاخيرة", "").trim() - else if (Regex("الحلقة (.*)").containsMatchIn(title)) - episode.name = Regex("الحلقة (.*)").find(title)!!.value.replace("مترجمة", "").replace("والاخيرة", "").trim() - else if (Regex("حلقة (.*)").containsMatchIn(title)) - episode.name = Regex("حلقة (.*)").find(title)!!.value.replace("مترجمة", "").replace("والاخيرة", "").trim() + episode.name = "مشاهدة" + else if (TitleRegex.SEASON.containsMatchIn(title)) + episode.name = TitleRegex.SEASON.find(title)!!.value.replace("مترجمة", "").replace("والاخيرة", "").trim() + else if (TitleRegex.EPISODE.containsMatchIn(title)) + episode.name = TitleRegex.EPISODE.find(title)!!.value.replace("مترجمة", "").replace("والاخيرة", "").trim() else episode.name = title @@ -187,7 +164,7 @@ class Movizland : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun episodeFromElement(element: Element): SEpisode = throw Exception("not used") - // Video links + // ============================= video links ============================= override fun videoListParse(response: Response): List