From 3e3bb6233f966518b53e13ef13d4337b91b342fa Mon Sep 17 00:00:00 2001 From: Vitalij Nykyforenko Date: Tue, 12 Apr 2022 13:04:10 +0300 Subject: [PATCH] fix(animevost): video link parser (#489) --- src/ru/animevost/build.gradle | 2 +- .../animeextension/ru/animevost/Animevost.kt | 73 ++++++++++++++++++- 2 files changed, 70 insertions(+), 5 deletions(-) diff --git a/src/ru/animevost/build.gradle b/src/ru/animevost/build.gradle index 6a2926a75..cf55ee663 100644 --- a/src/ru/animevost/build.gradle +++ b/src/ru/animevost/build.gradle @@ -6,7 +6,7 @@ ext { extName = 'Animevost' pkgNameSuffix = 'ru.animevost' extClass = '.Animevost' - extVersionCode = 1 + extVersionCode = 2 libVersion = '12' } diff --git a/src/ru/animevost/src/eu/kanade/tachiyomi/animeextension/ru/animevost/Animevost.kt b/src/ru/animevost/src/eu/kanade/tachiyomi/animeextension/ru/animevost/Animevost.kt index 42a4c1220..8e285a311 100644 --- a/src/ru/animevost/src/eu/kanade/tachiyomi/animeextension/ru/animevost/Animevost.kt +++ b/src/ru/animevost/src/eu/kanade/tachiyomi/animeextension/ru/animevost/Animevost.kt @@ -1,6 +1,11 @@ package eu.kanade.tachiyomi.animeextension.ru.animevost +import android.app.Application +import android.content.SharedPreferences +import androidx.preference.ListPreference +import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.animeextension.ru.animevost.dto.AnimeDetailsDto +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 @@ -9,6 +14,7 @@ import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.POST import eu.kanade.tachiyomi.network.asObservableSuccess +import eu.kanade.tachiyomi.util.asJsoup import kotlinx.serialization.json.Json import kotlinx.serialization.json.jsonObject import okhttp3.FormBody @@ -18,9 +24,11 @@ import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable +import uy.kohesive.injekt.Injekt +import uy.kohesive.injekt.api.get import java.lang.Exception -class Animevost : ParsedAnimeHttpSource() { +class Animevost : ConfigurableAnimeSource, ParsedAnimeHttpSource() { private enum class SortBy(val by: String) { RATING("rating"), DATE("date"), @@ -39,6 +47,10 @@ class Animevost : ParsedAnimeHttpSource() { ignoreUnknownKeys = true } + private val preferences: SharedPreferences by lazy { + Injekt.get().getSharedPreferences("source_$id", 0x0000) + } + override val name = "Animevost" override val baseUrl = "https://animevost.org" @@ -195,11 +207,64 @@ class Animevost : ParsedAnimeHttpSource() { // Video - override fun videoFromElement(element: Element): Video { - return Video(element.attr("href"), element.text(), element.attr("href"), null) + override fun videoListParse(response: Response): List