LegionAnime : fix in some extractors (#1064)

This commit is contained in:
Diego Peña Y Lillo
2022-12-06 17:41:36 -03:00
committed by GitHub
parent 8db9723786
commit acb6187a3e
4 changed files with 27 additions and 10 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'LegionAnime' extName = 'LegionAnime'
pkgNameSuffix = 'es.legionanime' pkgNameSuffix = 'es.legionanime'
extClass = '.LegionAnime' extClass = '.LegionAnime'
extVersionCode = 3 extVersionCode = 4
libVersion = '13' libVersion = '13'
} }

View File

@ -5,6 +5,8 @@ import android.content.SharedPreferences
import androidx.preference.ListPreference import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animeextension.es.legionanime.extractors.JkanimeExtractor import eu.kanade.tachiyomi.animeextension.es.legionanime.extractors.JkanimeExtractor
import eu.kanade.tachiyomi.animeextension.es.legionanime.extractors.YourUploadExtractor
import eu.kanade.tachiyomi.animeextension.es.legionanime.extractors.ZippyExtractor
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
import eu.kanade.tachiyomi.animesource.model.AnimeFilter import eu.kanade.tachiyomi.animesource.model.AnimeFilter
import eu.kanade.tachiyomi.animesource.model.AnimeFilterList import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
@ -190,12 +192,12 @@ class LegionAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
val players = responseArray["players"]!!.jsonArray val players = responseArray["players"]!!.jsonArray
val videoList = mutableListOf<Video>() val videoList = mutableListOf<Video>()
players.forEach { players.forEach {
val server = it.jsonObject["option"]!!.jsonPrimitive.content
val url = if (it.jsonObject["name"]!!.jsonPrimitive.content.startsWith("F-")) { val url = if (it.jsonObject["name"]!!.jsonPrimitive.content.startsWith("F-")) {
it.jsonObject["name"]!!.jsonPrimitive.content.substringAfter("-") it.jsonObject["name"]!!.jsonPrimitive.content.substringAfter("-")
} else { } else {
it.jsonObject["name"]!!.jsonPrimitive.content.substringAfter("-").reversed() it.jsonObject["name"]!!.jsonPrimitive.content.substringAfter("-").reversed()
} }
val server = it.jsonObject["option"]!!.jsonPrimitive.content
when { when {
url.contains("streamtape") -> { url.contains("streamtape") -> {
val video = StreamTapeExtractor(client).videoFromUrl(url, server) val video = StreamTapeExtractor(client).videoFromUrl(url, server)
@ -204,7 +206,10 @@ class LegionAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
} }
} }
(url.contains("fembed") || url.contains("vanfem")) -> { (url.contains("fembed") || url.contains("vanfem")) -> {
videoList.addAll(FembedExtractor(client).videosFromUrl(url, server)) val newUrl = url.replace("fembed", "embedsito").replace("vanfem", "embedsito")
try {
videoList.addAll(FembedExtractor(client).videosFromUrl(newUrl, server))
} catch (_: Exception) {}
} }
url.contains("sb") -> { url.contains("sb") -> {
val video = StreamSBExtractor(client).videosFromUrl(url, headers) val video = StreamSBExtractor(client).videosFromUrl(url, headers)
@ -214,10 +219,22 @@ class LegionAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
videoList.add(JkanimeExtractor(client).getDesuFromUrl(url)) videoList.add(JkanimeExtractor(client).getDesuFromUrl(url))
} }
url.contains("/stream/amz.php?") -> { url.contains("/stream/amz.php?") -> {
val video = amazonExtractor(url) try {
if (video.isNotBlank()) { val video = amazonExtractor(url)
videoList.add(Video(video, server, video)) if (video.isNotBlank()) {
} videoList.add(Video(video, server, video))
}
} catch (_: Exception) {}
}
url.contains("yourupload") -> {
val headers = headers.newBuilder().add("referer", "https://www.yourupload.com/").build()
videoList.addAll(YourUploadExtractor(client).videoFromUrl(url, headers))
}
url.contains("zippyshare") -> {
val hostUrl = url.substringBefore("/v/")
val videoUrlD = ZippyExtractor().getVideoUrl(url, json)
val videoUrl = hostUrl + videoUrlD
videoList.add(Video(videoUrl, server, videoUrl))
} }
} }
} }
@ -225,7 +242,7 @@ class LegionAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
} }
private fun amazonExtractor(url: String): String { private fun amazonExtractor(url: String): String {
val document = client.newCall(GET(url)).execute().asJsoup() val document = client.newCall(GET(url.replace(".com", ".tv"))).execute().asJsoup()
val videoURl = document.selectFirst("script:containsData(sources: [)").data() val videoURl = document.selectFirst("script:containsData(sources: [)").data()
.substringAfter("[{\"file\":\"") .substringAfter("[{\"file\":\"")
.substringBefore("\",").replace("\\", "") .substringBefore("\",").replace("\\", "")

View File

@ -1,4 +1,4 @@
package eu.kanade.tachiyomi.animeextension.es.monoschinos.extractors package eu.kanade.tachiyomi.animeextension.es.legionanime.extractors
import eu.kanade.tachiyomi.animesource.model.Video import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET

View File

@ -1,4 +1,4 @@
package eu.kanade.tachiyomi.animeextension.legionanime.onepace package eu.kanade.tachiyomi.animeextension.es.legionanime.extractors
import app.cash.quickjs.QuickJs import app.cash.quickjs.QuickJs
import kotlinx.serialization.decodeFromString import kotlinx.serialization.decodeFromString