diff --git a/src/ar/witanime/build.gradle b/src/ar/witanime/build.gradle index 48da83189..5c5541885 100644 --- a/src/ar/witanime/build.gradle +++ b/src/ar/witanime/build.gradle @@ -7,13 +7,15 @@ ext { extName = 'WIT ANIME' pkgNameSuffix = 'ar.witanime' extClass = '.WitAnime' - extVersionCode = 41 + extVersionCode = 42 libVersion = '13' } dependencies { implementation(project(':lib-dood-extractor')) implementation(project(':lib-okru-extractor')) + implementation(project(':lib-mp4upload-extractor')) + implementation(project(':lib-vidbom-extractor')) } apply from: "$rootDir/common.gradle" diff --git a/src/ar/witanime/src/eu/kanade/tachiyomi/animeextension/ar/witanime/WitAnime.kt b/src/ar/witanime/src/eu/kanade/tachiyomi/animeextension/ar/witanime/WitAnime.kt index 1d5d42be7..e33642c1e 100755 --- a/src/ar/witanime/src/eu/kanade/tachiyomi/animeextension/ar/witanime/WitAnime.kt +++ b/src/ar/witanime/src/eu/kanade/tachiyomi/animeextension/ar/witanime/WitAnime.kt @@ -1,7 +1,6 @@ package eu.kanade.tachiyomi.animeextension.ar.witanime import android.app.Application -import android.content.SharedPreferences import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.animeextension.ar.witanime.extractors.DailymotionExtractor @@ -14,7 +13,9 @@ 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.mp4uploadextractor.Mp4uploadExtractor import eu.kanade.tachiyomi.lib.okruextractor.OkruExtractor +import eu.kanade.tachiyomi.lib.vidbomextractor.VidBomExtractor import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.util.asJsoup import kotlinx.coroutines.Dispatchers @@ -22,7 +23,6 @@ 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 @@ -34,7 +34,7 @@ class WitAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val name = "WIT ANIME" - override val baseUrl = "https://witanime.com" + override val baseUrl = "https://witanime.live" override val lang = "ar" @@ -44,7 +44,7 @@ class WitAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun headersBuilder() = super.headersBuilder().add("Referer", baseUrl) - private val preferences: SharedPreferences by lazy { + private val preferences by lazy { Injekt.get().getSharedPreferences("source_$id", 0x0000) } @@ -53,7 +53,7 @@ class WitAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun popularAnimeNextPageSelector() = "ul.pagination a.next" - override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/قائمة-الانمي/page/$page") + override fun popularAnimeRequest(page: Int) = GET("$baseUrl/قائمة-الانمي/page/$page") override fun popularAnimeFromElement(element: Element) = SAnime.create().apply { setUrlWithoutDomain(element.selectFirst("a")!!.attr("href")) @@ -63,77 +63,12 @@ class WitAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } } - // ============================== Episodes ============================== - override fun episodeListParse(response: Response): List { - val doc = getRealDoc(response.asJsoup()) - return doc.select(episodeListSelector()).map(::episodeFromElement).reversed() - } + // =============================== Latest =============================== + override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/episode/page/$page/") - override fun episodeListSelector() = "div.ehover6 > div.episodes-card-title > h3 a" - - override fun episodeFromElement(element: Element) = SEpisode.create().apply { - setUrlWithoutDomain(element.attr("href")) - name = element.text() - episode_number = name.substringAfterLast(" ").toFloatOrNull() ?: 0F - } - - // ============================ Video Links ============================= - override fun videoListParse(response: Response): List