Merge 98ae771e59
into 7e4e4e57ae
This commit is contained in:
commit
8218472492
|
@ -1,5 +1,5 @@
|
|||
// use an integer for version numbers
|
||||
version = 2
|
||||
version = 3
|
||||
|
||||
|
||||
cloudstream {
|
||||
|
|
|
@ -23,11 +23,14 @@ class MundoDonghuaProvider : MainAPI() {
|
|||
TvType.Anime,
|
||||
)
|
||||
|
||||
override suspend fun getMainPage(page: Int, request : MainPageRequest): HomePageResponse {
|
||||
abstract class SpecialEpisodes {
|
||||
abstract var docFinal = AbstractMap()
|
||||
}
|
||||
|
||||
override suspend fun getMainPage(page: Int, request : MainPageRequest): HomePageResponse, SpecialEpisodes {
|
||||
val urls = listOf(
|
||||
Pair("$mainUrl/lista-donghuas", "Donghuas"),
|
||||
)
|
||||
|
||||
val items = ArrayList<HomePageList>()
|
||||
items.add(
|
||||
HomePageList(
|
||||
|
@ -41,6 +44,7 @@ class MundoDonghuaProvider : MainAPI() {
|
|||
val epNumRemoveRegex = Regex("/" + epNum.toString() + "/.*")
|
||||
val url = it.selectFirst("a")?.attr("href")?.replace(epRegex,"")?.replace("/ver/","/donghua/")?.replace(epNumRemoveRegex,"")
|
||||
val dubstat = if (title.contains("Latino") || title.contains("Castellano")) DubStatus.Dubbed else DubStatus.Subbed
|
||||
override var docFinal = app.get(mainUrl, timeout = 120).document
|
||||
newAnimeSearchResponse(title.replace(Regex("Episodio|(\\d+)"),"").trim(), fixUrl(url ?: "")) {
|
||||
this.posterUrl = fixUrl(poster ?: "")
|
||||
addDubStatus(dubstat, epNum)
|
||||
|
@ -91,7 +95,7 @@ class MundoDonghuaProvider : MainAPI() {
|
|||
}
|
||||
}
|
||||
|
||||
override suspend fun load(url: String): LoadResponse {
|
||||
override suspend fun load(url: String): LoadResponse, SpecialEpisodes {
|
||||
val doc = app.get(url, timeout = 120).document
|
||||
val poster = doc.selectFirst("head meta[property=og:image]")?.attr("content") ?: ""
|
||||
val title = doc.selectFirst(".ls-title-serie")?.text() ?: ""
|
||||
|
@ -102,16 +106,26 @@ class MundoDonghuaProvider : MainAPI() {
|
|||
"Finalizada" -> ShowStatus.Completed
|
||||
else -> null
|
||||
}
|
||||
val specialEpisodes = docFinal.select("div.sm-row.bg-white.pt-10.pr-20.pb-15.pl-20 div.item.col-lg-2.col-md-2.col-xs-4").mapNotNull {
|
||||
val name = it.selectFirst("h5")?.text()?.replace("Episodio","-") ?: ""
|
||||
val link = it.selectFirst("a")?.attr("href") ?: ""
|
||||
if (name.contains(title, true)) {
|
||||
Episode(fixUrl(link), name)
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}.reversed()
|
||||
val episodes = doc.select("ul.donghua-list a").map {
|
||||
val name = it.selectFirst(".fs-16")?.text()
|
||||
val link = it.attr("href")
|
||||
Episode(fixUrl(link), name)
|
||||
}.reversed()
|
||||
val episodesFinal = episodes + specialEpisodes
|
||||
val typeinfo = doc.select("div.row div.col-md-6.pl-15 p.fc-dark").text()
|
||||
val tvType = if (typeinfo.contains(Regex("Tipo.*Pel.cula"))) TvType.AnimeMovie else TvType.Anime
|
||||
return newAnimeLoadResponse(title, url, tvType) {
|
||||
posterUrl = poster
|
||||
addEpisodes(DubStatus.Subbed, episodes)
|
||||
addEpisodes(DubStatus.Subbed, episodesFinal)
|
||||
showStatus = status
|
||||
plot = description
|
||||
tags = genres
|
||||
|
@ -215,4 +229,4 @@ class MundoDonghuaProvider : MainAPI() {
|
|||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue