diff --git a/MundoDonghuaProvider/build.gradle.kts b/MundoDonghuaProvider/build.gradle.kts index 9f336ab..7ee541d 100644 --- a/MundoDonghuaProvider/build.gradle.kts +++ b/MundoDonghuaProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 2 +version = 3 cloudstream { diff --git a/MundoDonghuaProvider/src/main/kotlin/com/lagradost/MundoDonghuaProvider.kt b/MundoDonghuaProvider/src/main/kotlin/com/lagradost/MundoDonghuaProvider.kt index e41d77e..fdfed07 100644 --- a/MundoDonghuaProvider/src/main/kotlin/com/lagradost/MundoDonghuaProvider.kt +++ b/MundoDonghuaProvider/src/main/kotlin/com/lagradost/MundoDonghuaProvider.kt @@ -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() 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 } -} +} \ No newline at end of file