Anime24: fix & update (#908)
-dub & sub are separate now - video list isn't empty anymore
This commit is contained in:
@ -6,7 +6,7 @@ ext {
|
||||
extName = 'Anime24'
|
||||
pkgNameSuffix = 'de.anime24'
|
||||
extClass = '.Anime24'
|
||||
extVersionCode = 1
|
||||
extVersionCode = 2
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -78,7 +78,7 @@ class Anime24 : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
episode.episode_number = element.select("a div.epl-num").text().toFloat()
|
||||
val folge = element.select("a div.epl-num").text()
|
||||
episode.name = "Folge $folge : " + element.select("a div.epl-title").text()
|
||||
episode.setUrlWithoutDomain(element.select("a").attr("href").replace("dub", "sub"))
|
||||
episode.setUrlWithoutDomain(element.select("a").attr("href"))
|
||||
return episode
|
||||
}
|
||||
|
||||
@ -91,75 +91,43 @@ class Anime24 : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
|
||||
private fun videosFromElement(document: Document): List<Video> {
|
||||
val videoList = mutableListOf<Video>()
|
||||
val link = document.select("#pembed iframe").attr("src")
|
||||
val link = document.select("#pembed iframe[data-lazy-src]").attr("data-lazy-src")
|
||||
val hosterSelection = preferences.getStringSet("hoster_selection", setOf("stape", "voe"))
|
||||
when {
|
||||
link.contains("https://streamtape") || link.contains("https://adblockeronstape") && hosterSelection?.contains("stape") == true -> {
|
||||
val quality = "Streamtape, Sub"
|
||||
val quality = "Streamtape"
|
||||
val video = StreamTapeExtractor(client).videoFromUrl(link, quality)
|
||||
if (video != null) {
|
||||
videoList.add(video)
|
||||
}
|
||||
}
|
||||
link.contains("https://voe.sx") && hosterSelection?.contains("voe") == true -> {
|
||||
val quality = "Voe, Sub"
|
||||
val quality = "Voe"
|
||||
val video = VoeExtractor(client).videoFromUrl(link, quality)
|
||||
if (video != null) {
|
||||
videoList.add(video)
|
||||
}
|
||||
}
|
||||
}
|
||||
val duburl = document.select("link[rel=canonical]").attr("href").replace("sub", "dub")
|
||||
val dubdoc = client.newCall(GET(duburl)).execute().asJsoup()
|
||||
val dublink = dubdoc.select("#pembed iframe").attr("src")
|
||||
when {
|
||||
dublink.contains("https://streamtape") || dublink.contains("https://adblockeronstape") && hosterSelection?.contains("stape") == true -> {
|
||||
val quality = "Streamtape, Dub"
|
||||
val video = StreamTapeExtractor(client).videoFromUrl(dublink, quality)
|
||||
if (video != null) {
|
||||
videoList.add(video)
|
||||
}
|
||||
}
|
||||
dublink.contains("https://voe.sx") && hosterSelection?.contains("voe") == true -> {
|
||||
val quality = "Voe, Dub"
|
||||
val video = VoeExtractor(client).videoFromUrl(dublink, quality)
|
||||
if (video != null) {
|
||||
videoList.add(video)
|
||||
}
|
||||
}
|
||||
}
|
||||
return videoList.reversed()
|
||||
}
|
||||
|
||||
override fun List<Video>.sort(): List<Video> {
|
||||
val hoster = preferences.getString("preferred_hoster", null)
|
||||
val subPreference = preferences.getString("preferred_sub", "Sub")!!
|
||||
val hosterList = mutableListOf<Video>()
|
||||
val otherList = mutableListOf<Video>()
|
||||
if (hoster != null) {
|
||||
val newList = mutableListOf<Video>()
|
||||
var preferred = 0
|
||||
for (video in this) {
|
||||
if (video.url.contains(hoster)) {
|
||||
hosterList.add(video)
|
||||
if (video.quality.contains(hoster)) {
|
||||
newList.add(preferred, video)
|
||||
preferred++
|
||||
} else {
|
||||
otherList.add(video)
|
||||
newList.add(video)
|
||||
}
|
||||
}
|
||||
} else otherList += this
|
||||
val newList = mutableListOf<Video>()
|
||||
var preferred = 0
|
||||
for (video in hosterList) {
|
||||
if (video.quality.contains(subPreference)) {
|
||||
newList.add(preferred, video)
|
||||
preferred++
|
||||
} else newList.add(video)
|
||||
return newList
|
||||
}
|
||||
for (video in otherList) {
|
||||
if (video.quality.contains(subPreference)) {
|
||||
newList.add(preferred, video)
|
||||
preferred++
|
||||
} else newList.add(video)
|
||||
}
|
||||
return newList
|
||||
return this
|
||||
}
|
||||
|
||||
override fun videoListSelector() = throw Exception("not used")
|
||||
@ -236,22 +204,6 @@ class Anime24 : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
preferences.edit().putStringSet(key, newValue as Set<String>).commit()
|
||||
}
|
||||
}
|
||||
val subPref = ListPreference(screen.context).apply {
|
||||
key = "preferred_sub"
|
||||
title = "Standardmäßig Sub oder Dub?"
|
||||
entries = arrayOf("Sub", "Dub")
|
||||
entryValues = arrayOf("Sub", "Dub")
|
||||
setDefaultValue("Sub")
|
||||
summary = "%s"
|
||||
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val selected = newValue as String
|
||||
val index = findIndexOfValue(selected)
|
||||
val entry = entryValues[index] as String
|
||||
preferences.edit().putString(key, entry).commit()
|
||||
}
|
||||
}
|
||||
screen.addPreference(subPref)
|
||||
screen.addPreference(hosterPref)
|
||||
screen.addPreference(subSelection)
|
||||
}
|
||||
|
Reference in New Issue
Block a user