diff --git a/src/ar/egybest/AndroidManifest.xml b/src/ar/egybest/AndroidManifest.xml deleted file mode 100644 index acb4de3565..0000000000 --- a/src/ar/egybest/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/src/ar/egybest/build.gradle b/src/ar/egybest/build.gradle deleted file mode 100644 index b2d13b45cf..0000000000 --- a/src/ar/egybest/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' - -ext { - extName = 'EgyBest' - pkgNameSuffix = 'ar.egybest' - extClass = '.EgyBest' - extVersionCode = 1 - libVersion = '12' -} - -apply from: "$rootDir/common.gradle" diff --git a/src/ar/egybest/res/mipmap-hdpi/ic_launcher.png b/src/ar/egybest/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 31c5495ae0..0000000000 Binary files a/src/ar/egybest/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/src/ar/egybest/res/mipmap-mdpi/ic_launcher.png b/src/ar/egybest/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index bbc83b284c..0000000000 Binary files a/src/ar/egybest/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/src/ar/egybest/res/mipmap-xhdpi/ic_launcher.png b/src/ar/egybest/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 7fc7f69c5c..0000000000 Binary files a/src/ar/egybest/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/src/ar/egybest/res/mipmap-xxhdpi/ic_launcher.png b/src/ar/egybest/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 5172f5d782..0000000000 Binary files a/src/ar/egybest/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/ar/egybest/res/mipmap-xxxhdpi/ic_launcher.png b/src/ar/egybest/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 5c63fc0255..0000000000 Binary files a/src/ar/egybest/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/ar/egybest/res/play_store_512.png b/src/ar/egybest/res/play_store_512.png deleted file mode 100644 index 2bb09bb4d8..0000000000 Binary files a/src/ar/egybest/res/play_store_512.png and /dev/null differ diff --git a/src/ar/egybest/src/eu/kanade/tachiyomi/animeextension/ar/egybest/EgyBest.kt b/src/ar/egybest/src/eu/kanade/tachiyomi/animeextension/ar/egybest/EgyBest.kt deleted file mode 100644 index a75cd86214..0000000000 --- a/src/ar/egybest/src/eu/kanade/tachiyomi/animeextension/ar/egybest/EgyBest.kt +++ /dev/null @@ -1,234 +0,0 @@ -package eu.kanade.tachiyomi.animeextension.ar.egybest - -import android.app.Application -import android.content.SharedPreferences -import androidx.preference.ListPreference -import androidx.preference.PreferenceScreen -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.network.GET -import eu.kanade.tachiyomi.util.asJsoup -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.lang.Exception - -class EgyBest : ConfigurableAnimeSource, ParsedAnimeHttpSource() { - - override val name = "EgyBest" - - override val baseUrl = "https://www.egy.best" - - override val lang = "ar" - - 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 popularAnimeSelector(): String = "div.movies a.movie" - - override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/trending/?page=$page") - - override fun popularAnimeFromElement(element: Element): SAnime { - val anime = SAnime.create() - anime.thumbnail_url = element.select("img").attr("src") - anime.setUrlWithoutDomain(element.attr("href")) - anime.title = element.select("span.title").text() - return anime - } - - override fun popularAnimeNextPageSelector(): String = "a.auto.load" - - // episodes - - override fun episodeListSelector() = throw Exception("not used") - - override fun episodeListParse(response: Response): List { - val document = response.asJsoup() - val episodeList = mutableListOf() - val seriesLink = document.select("div.movie_img a").attr("href") - if (seriesLink.contains("series")) { - val seasonsHtml = client.newCall( - GET( - seriesLink - // headers = Headers.headersOf("Referer", document.location()) - ) - ).execute().asJsoup() - val seasonP = seasonsHtml.selectFirst("div.contents.movies_small") - val seasonsElements = seasonP.select("a.movie") - seasonsElements.forEach { - val seasonEpList = parseEpisodesFromSeries(it) - episodeList.addAll(seasonEpList) - } - } else { - val episode = SEpisode.create() - episode.name = document.select("div.movie_title h1 span").text() - episode.episode_number = 1F - episode.setUrlWithoutDomain(seriesLink) - episodeList.add(episode) - } - return episodeList - } - - private fun parseEpisodesFromSeries(element: Element): List { - val episodesUrl = element.attr("abs:href") - val episodesHtml = client.newCall( - GET( - episodesUrl, - ) - ).execute().asJsoup() - val episodeElements = episodesHtml.select("div.movies_small a[href~=episode]") - return episodeElements.map { episodeFromElement(it) } - } - - override fun episodeFromElement(element: Element): SEpisode { - val episode = SEpisode.create() - val epNum = getNumberFromEpsString(element.select("span.title").text()) - episode.episode_number = when { - (epNum.isNotEmpty()) -> epNum.toFloat() - else -> 1F - } - val seasonName = element.ownerDocument().select("div.movie_title h1").text().replace(" مسلسل ", "") - episode.name = "$seasonName : " + element.select("span.title").text() - episode.setUrlWithoutDomain(element.attr("abs:href")) - return episode - } - - private fun getNumberFromEpsString(epsStr: String): String { - return epsStr.filter { it.isDigit() } - } - - // Video links - - override fun videoListParse(response: Response): List