Nine: Fix sorting and filter masterplaylist (#1349)
and fix some warnings
This commit is contained in:
@ -6,7 +6,7 @@ ext {
|
|||||||
extName = '9anime'
|
extName = '9anime'
|
||||||
pkgNameSuffix = 'en.nineanime'
|
pkgNameSuffix = 'en.nineanime'
|
||||||
extClass = '.NineAnime'
|
extClass = '.NineAnime'
|
||||||
extVersionCode = 32
|
extVersionCode = 33
|
||||||
libVersion = '13'
|
libVersion = '13'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -153,7 +153,7 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
|
|
||||||
// add alternative name to anime description
|
// add alternative name to anime description
|
||||||
val altName = "Other name(s): "
|
val altName = "Other name(s): "
|
||||||
document.select("h1.title").attr("data-jp")?.let {
|
document.select("h1.title").attr("data-jp").let {
|
||||||
if (it.isBlank().not()) {
|
if (it.isBlank().not()) {
|
||||||
anime.description = when {
|
anime.description = when {
|
||||||
anime.description.isNullOrBlank() -> altName + it
|
anime.description.isNullOrBlank() -> altName + it
|
||||||
@ -227,7 +227,7 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
ids.getOrNull(0)?.let { subId ->
|
ids.getOrNull(0)?.let { subId ->
|
||||||
document.select("li[data-ep-id=$subId]").map { serverElement ->
|
document.select("li[data-ep-id=$subId]").map { serverElement ->
|
||||||
val server = serverElement.text().let {
|
val server = serverElement.text().let {
|
||||||
if (it == "Vidstream") "vizcloud" else it?.lowercase() ?: "vizcloud"
|
if (it == "Vidstream") "vizcloud" else it.lowercase()
|
||||||
}
|
}
|
||||||
servers.add(Triple("Sub", subId, server))
|
servers.add(Triple("Sub", subId, server))
|
||||||
}
|
}
|
||||||
@ -235,7 +235,7 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
ids.getOrNull(1)?.let { dubId ->
|
ids.getOrNull(1)?.let { dubId ->
|
||||||
document.select("li[data-ep-id=$dubId]").map { serverElement ->
|
document.select("li[data-ep-id=$dubId]").map { serverElement ->
|
||||||
val server = serverElement.text().let {
|
val server = serverElement.text().let {
|
||||||
if (it == "Vidstream") "vizcloud" else it?.lowercase() ?: "vizcloud"
|
if (it == "Vidstream") "vizcloud" else it.lowercase()
|
||||||
}
|
}
|
||||||
servers.add(Triple("Dub", dubId, server))
|
servers.add(Triple("Dub", dubId, server))
|
||||||
}
|
}
|
||||||
@ -285,7 +285,9 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
val embedLink = parsed.embedURL ?: parsed.headers.referer
|
val embedLink = parsed.embedURL ?: parsed.headers.referer
|
||||||
when (server.third) {
|
when (server.third) {
|
||||||
"vizcloud" -> {
|
"vizcloud" -> {
|
||||||
parsed.sources?.map { source ->
|
parsed.sources?.filter {
|
||||||
|
if (it.quality.isNullOrBlank()) true else it.quality == "auto"
|
||||||
|
}?.map { source ->
|
||||||
val playlist = client.newCall(GET(source.url)).execute()
|
val playlist = client.newCall(GET(source.url)).execute()
|
||||||
videoList.addAll(
|
videoList.addAll(
|
||||||
parseVizPlaylist(
|
parseVizPlaylist(
|
||||||
@ -332,7 +334,7 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
|
|
||||||
return this.sortedWith(
|
return this.sortedWith(
|
||||||
compareByDescending<Video> { it.quality.contains(quality) }
|
compareByDescending<Video> { it.quality.contains(quality) }
|
||||||
.thenBy { it.quality.contains(lang) },
|
.thenByDescending { it.quality.contains(lang) },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -363,6 +365,7 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
val url: String,
|
val url: String,
|
||||||
@SerialName("isM3U8")
|
@SerialName("isM3U8")
|
||||||
val hls: Boolean,
|
val hls: Boolean,
|
||||||
|
val quality: String? = null,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user