9anime: Tag episodes with Sub/Dub (#712)
This commit is contained in:
@ -5,7 +5,7 @@ ext {
|
||||
extName = '9anime'
|
||||
pkgNameSuffix = 'en.nineanime'
|
||||
extClass = '.NineAnime'
|
||||
extVersionCode = 14
|
||||
extVersionCode = 15
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -84,19 +84,24 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
val episode = SEpisode.create()
|
||||
val epNum = element.attr("data-num")
|
||||
val ids = element.attr("data-ids")
|
||||
val sub = element.attr("data-sub").toInt().toBoolean()
|
||||
val dub = element.attr("data-dub").toInt().toBoolean()
|
||||
val vrf = encodeVrf(ids)
|
||||
episode.url = "/ajax/server/list/$ids?vrf=$vrf"
|
||||
episode.episode_number = epNum.toFloat()
|
||||
val langPrefix = "["+ if(sub) {"Sub"} else {""} + if(dub) {",Dub"} else {""} + "]"
|
||||
val name = element.parent()?.select("span.d-title")?.text().orEmpty()
|
||||
val namePrefix = "Episode $epNum"
|
||||
episode.name = if (name.isNotEmpty() && name != namePrefix) {
|
||||
"Episode $epNum: $name"
|
||||
} else {
|
||||
"Episode $epNum"
|
||||
}
|
||||
episode.name = "Episode $epNum" + if(sub||dub){
|
||||
": $langPrefix"
|
||||
}else{""} + if (name.isNotEmpty() && name != namePrefix) {
|
||||
" $name"
|
||||
}else{""}
|
||||
return episode
|
||||
}
|
||||
|
||||
private fun Int.toBoolean() = this == 1
|
||||
|
||||
override fun videoListParse(response: Response): List<Video> {
|
||||
val responseObject = json.decodeFromString<JsonObject>(response.body!!.string())
|
||||
val document = Jsoup.parse(JSONUtil.unescape(responseObject["result"]!!.jsonPrimitive.content))
|
||||
@ -160,6 +165,18 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
newList.add(video)
|
||||
}
|
||||
}
|
||||
// If dub is preferred language and anime do not have dub version, respect preferred quality
|
||||
if (lang == "Dub" && newList.first().quality.contains("Dub").not()) {
|
||||
newList.clear()
|
||||
for (video in this) {
|
||||
if (video.quality.contains(quality)) {
|
||||
newList.add(preferred, video)
|
||||
preferred++
|
||||
} else {
|
||||
newList.add(video)
|
||||
}
|
||||
}
|
||||
}
|
||||
return newList
|
||||
}
|
||||
return this
|
||||
|
Reference in New Issue
Block a user