From 387cd7db52ee7d323f25accac2b111e5599cda10 Mon Sep 17 00:00:00 2001 From: mobby45 <68152858+mobby45@users.noreply.github.com> Date: Sat, 22 Jun 2024 10:47:48 +0200 Subject: [PATCH] Delete src/fr/nekosama/src/eu/kanade/tachiyomi/animeextension/fr/nekosama/NekoSama.kt --- .../animeextension/fr/nekosama/NekoSama.kt | 339 ------------------ 1 file changed, 339 deletions(-) delete mode 100644 src/fr/nekosama/src/eu/kanade/tachiyomi/animeextension/fr/nekosama/NekoSama.kt diff --git a/src/fr/nekosama/src/eu/kanade/tachiyomi/animeextension/fr/nekosama/NekoSama.kt b/src/fr/nekosama/src/eu/kanade/tachiyomi/animeextension/fr/nekosama/NekoSama.kt deleted file mode 100644 index f65d5864..00000000 --- a/src/fr/nekosama/src/eu/kanade/tachiyomi/animeextension/fr/nekosama/NekoSama.kt +++ /dev/null @@ -1,339 +0,0 @@ -package eu.kanade.tachiyomi.animeextension.fr.nekosama - -import android.app.Application -import androidx.preference.ListPreference -import androidx.preference.PreferenceScreen -import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource -import eu.kanade.tachiyomi.animesource.model.AnimeFilter -import eu.kanade.tachiyomi.animesource.model.AnimeFilterList -import eu.kanade.tachiyomi.animesource.model.AnimesPage -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.fusevideoextractor.FusevideoExtractor -import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.util.asJsoup -import kotlinx.serialization.Serializable -import kotlinx.serialization.json.Json -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 uy.kohesive.injekt.injectLazy -import java.lang.Exception - -class NekoSama : ConfigurableAnimeSource, ParsedAnimeHttpSource() { - - override val name = "Neko-Sama" - - override val baseUrl by lazy { "https://" + preferences.getString(PREF_DOMAIN_KEY, PREF_DOMAIN_DEFAULT)!! } - - override val lang = "fr" - - override val supportsLatest = true - - private val json: Json by injectLazy() - - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } - - override fun popularAnimeSelector(): String = "div.anime" - - override fun popularAnimeRequest(page: Int): Request { - return if (page > 1) { - GET("$baseUrl/anime/$page") - } else { - GET("$baseUrl/anime/") - } - } - - override fun popularAnimeFromElement(element: Element): SAnime { - val anime = SAnime.create() - anime.setUrlWithoutDomain( - element.select("div.info a").attr("href"), - ) - anime.title = element.select("div.info a div").text() - val thumb1 = element.select("div.cover a div img:not(.placeholder)").attr("data-src") - val thumb2 = element.select("div.cover a div img:not(.placeholder)").attr("src") - anime.thumbnail_url = thumb1.ifBlank { thumb2 } - return anime - } - - override fun popularAnimeNextPageSelector(): String = "div.nekosama.pagination a.active ~ a" - - override fun episodeListParse(response: Response): List { - val pageBody = response.asJsoup() - val episodesJson = pageBody.selectFirst("script:containsData(var episodes =)")!!.data() - .substringAfter("var episodes = ").substringBefore(";") - val json = json.decodeFromString>(episodesJson) - - return json.map { - SEpisode.create().apply { - name = try { it.episode!! } catch (e: Exception) { "episode" } - url = it.url!!.replace("\\", "") - - episode_number = try { it.episode!!.substringAfter(". ").toFloat() } catch (e: Exception) { (0..10).random() }.toFloat() - } - }.reversed() - } - - override fun episodeListSelector() = throw UnsupportedOperationException() - - override fun episodeFromElement(element: Element) = throw UnsupportedOperationException() - - override fun videoListParse(response: Response): List