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