LegionAnime : fix in some extractors (#1064)
This commit is contained in:
committed by
GitHub
parent
8db9723786
commit
acb6187a3e
@ -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'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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?") -> {
|
||||||
|
try {
|
||||||
val video = amazonExtractor(url)
|
val video = amazonExtractor(url)
|
||||||
if (video.isNotBlank()) {
|
if (video.isNotBlank()) {
|
||||||
videoList.add(Video(video, server, video))
|
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("\\", "")
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Reference in New Issue
Block a user