new server (FireLoad) and fixes [AnimeFenix] (#819)
This commit is contained in:
committed by
GitHub
parent
c8f75c8757
commit
b6b62b7e94
@ -5,7 +5,7 @@ ext {
|
|||||||
extName = 'Animefenix'
|
extName = 'Animefenix'
|
||||||
pkgNameSuffix = 'es.animefenix'
|
pkgNameSuffix = 'es.animefenix'
|
||||||
extClass = '.Animefenix'
|
extClass = '.Animefenix'
|
||||||
extVersionCode = 4
|
extVersionCode = 5
|
||||||
libVersion = '13'
|
libVersion = '13'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,6 +108,14 @@ class Animefenix : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
realUrl.contains("/stream/fl.php") -> {
|
||||||
|
val video = realUrl.substringAfter("/stream/fl.php?v=")
|
||||||
|
client.newCall(GET(video)).execute().code.let {
|
||||||
|
if (it == 200) {
|
||||||
|
videoList.add(Video(video, "FireLoad", video))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
realUrl.contains("streamtape") -> {
|
realUrl.contains("streamtape") -> {
|
||||||
val video = StreamTapeExtractor(client).videoFromUrl(realUrl, "Streamtape")
|
val video = StreamTapeExtractor(client).videoFromUrl(realUrl, "Streamtape")
|
||||||
if (video != null) {
|
if (video != null) {
|
||||||
@ -126,24 +134,6 @@ class Animefenix : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
|
|
||||||
override fun videoFromElement(element: Element) = throw Exception("not used")
|
override fun videoFromElement(element: Element) = throw Exception("not used")
|
||||||
|
|
||||||
override fun List<Video>.sort(): List<Video> {
|
|
||||||
val quality = preferences.getString("preferred_quality", "Amazon")
|
|
||||||
if (quality != null) {
|
|
||||||
val newList = mutableListOf<Video>()
|
|
||||||
var preferred = 0
|
|
||||||
for (video in this) {
|
|
||||||
if (video.quality == quality) {
|
|
||||||
newList.add(preferred, video)
|
|
||||||
preferred++
|
|
||||||
} else {
|
|
||||||
newList.add(video)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return newList
|
|
||||||
}
|
|
||||||
return this
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request {
|
override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request {
|
||||||
val filterList = if (filters.isEmpty()) getFilterList() else filters
|
val filterList = if (filters.isEmpty()) getFilterList() else filters
|
||||||
val genreFilter = filterList.find { it is GenreFilter } as GenreFilter
|
val genreFilter = filterList.find { it is GenreFilter } as GenreFilter
|
||||||
@ -185,13 +175,6 @@ class Animefenix : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
|
|
||||||
override fun latestUpdatesSelector() = popularAnimeSelector()
|
override fun latestUpdatesSelector() = popularAnimeSelector()
|
||||||
|
|
||||||
private fun amazonExtractor(url: String): String {
|
|
||||||
val document = client.newCall(GET(url)).execute().asJsoup()
|
|
||||||
return document.selectFirst("script:containsData(sources: [)").data()
|
|
||||||
.substringAfter("[{\"file\":\"")
|
|
||||||
.substringBefore("\",").replace("\\", "")
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getFilterList(): AnimeFilterList = AnimeFilterList(
|
override fun getFilterList(): AnimeFilterList = AnimeFilterList(
|
||||||
AnimeFilter.Header("La busqueda por texto ignora el filtro"),
|
AnimeFilter.Header("La busqueda por texto ignora el filtro"),
|
||||||
GenreFilter()
|
GenreFilter()
|
||||||
@ -255,13 +238,31 @@ class Animefenix : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
fun toUriPart() = vals[state].second
|
fun toUriPart() = vals[state].second
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun List<Video>.sort(): List<Video> {
|
||||||
|
val quality = preferences.getString("preferred_quality", "Amazon")
|
||||||
|
if (quality != null) {
|
||||||
|
val newList = mutableListOf<Video>()
|
||||||
|
var preferred = 0
|
||||||
|
for (video in this) {
|
||||||
|
if (video.quality == quality) {
|
||||||
|
newList.add(preferred, video)
|
||||||
|
preferred++
|
||||||
|
} else {
|
||||||
|
newList.add(video)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return newList
|
||||||
|
}
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
override fun setupPreferenceScreen(screen: PreferenceScreen) {
|
override fun setupPreferenceScreen(screen: PreferenceScreen) {
|
||||||
|
|
||||||
val videoQualityPref = ListPreference(screen.context).apply {
|
val videoQualityPref = ListPreference(screen.context).apply {
|
||||||
key = "preferred_quality"
|
key = "preferred_quality"
|
||||||
title = "Preferred quality"
|
title = "Servidor Preferido"
|
||||||
entries = arrayOf("Amazon", "Fembed:480p", "Fembed:720p", "Amazon", "AmazonES")
|
entries = arrayOf("Amazon", "Fembed:480p", "Fembed:720p", "Amazon", "AmazonES", "FireLoad")
|
||||||
entryValues = arrayOf("Amazon")
|
entryValues = arrayOf("Amazon", "Fembed:480p", "Fembed:720p", "Amazon", "AmazonES", "FireLoad")
|
||||||
setDefaultValue("Amazon")
|
setDefaultValue("Amazon")
|
||||||
summary = "%s"
|
summary = "%s"
|
||||||
|
|
||||||
@ -274,4 +275,12 @@ class Animefenix : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
}
|
}
|
||||||
screen.addPreference(videoQualityPref)
|
screen.addPreference(videoQualityPref)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun amazonExtractor(url: String): String {
|
||||||
|
val document = client.newCall(GET(url)).execute().asJsoup()
|
||||||
|
val videoURl = document.selectFirst("script:containsData(sources: [)").data()
|
||||||
|
.substringAfter("[{\"file\":\"")
|
||||||
|
.substringBefore("\",").replace("\\", "")
|
||||||
|
return if (client.newCall(GET(videoURl)).execute().code == 200) videoURl else ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user