UHDMovies: Fix search empty entry and list collection movies as episodes (#1187)

This commit is contained in:
Samfun75
2023-01-18 15:55:46 +03:00
committed by GitHub
parent 6002c3dabe
commit 23d1cb94d4
2 changed files with 17 additions and 8 deletions

View File

@ -6,7 +6,7 @@ ext {
extName = 'UHD Movies (Experimental)' extName = 'UHD Movies (Experimental)'
pkgNameSuffix = 'en.uhdmovies' pkgNameSuffix = 'en.uhdmovies'
extClass = '.UHDMovies' extClass = '.UHDMovies'
extVersionCode = 1 extVersionCode = 2
libVersion = '13' libVersion = '13'
} }

View File

@ -57,7 +57,7 @@ class UHDMovies : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/page/$page/") override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/page/$page/")
override fun popularAnimeSelector(): String = "div#content div.gridlove-posts > div" override fun popularAnimeSelector(): String = "div#content div.gridlove-posts > div.layout-masonry"
override fun popularAnimeNextPageSelector(): String = override fun popularAnimeNextPageSelector(): String =
"div#content > nav.gridlove-pagination > a.next" "div#content > nav.gridlove-pagination > a.next"
@ -97,7 +97,11 @@ class UHDMovies : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
// =========================== Anime Details ============================ // =========================== Anime Details ============================
override fun animeDetailsParse(document: Document): SAnime { override fun animeDetailsParse(document: Document): SAnime {
return SAnime.create() return SAnime.create().apply {
title = document.selectFirst("h2").text()
.replace("Download", "", true).trim()
status = SAnime.COMPLETED
}
} }
// ============================== Episodes ============================== // ============================== Episodes ==============================
@ -157,6 +161,7 @@ class UHDMovies : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
) )
} }
} else { } else {
var collectionIdx = 0F
episodeElements.filter { episodeElements.filter {
!it.text().contains("Zip", true) && !it.text().contains("Zip", true) &&
!it.text().contains("Pack", true) !it.text().contains("Pack", true)
@ -165,19 +170,23 @@ class UHDMovies : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
val qualityMatch = qualityRegex.find(prevP.text()) val qualityMatch = qualityRegex.find(prevP.text())
val quality = qualityMatch?.value ?: "HD" val quality = qualityMatch?.value ?: "HD"
val collectionName = row.previousElementSiblings().prev("h2").first().text()
.replace("Download", "", true).trim()
row.select("a").map { linkElement -> row.select("a").map { linkElement ->
Pair(linkElement.attr("href")!!.substringAfter("?id="), quality) Triple(linkElement.attr("href")!!.substringAfter("?id="), quality, collectionName)
} }
}.flatten().let { link -> }.flatten().groupBy { it.third }.map { group ->
collectionIdx++
episodeList.add( episodeList.add(
SEpisode.create().apply { SEpisode.create().apply {
url = EpLinks( url = EpLinks(
urls = link.map { urls = group.value.map {
EpUrl(url = it.first, quality = it.second) EpUrl(url = it.first, quality = it.second)
} }
).toJson() ).toJson()
name = "Movie" name = group.key
episode_number = 0F episode_number = collectionIdx
} }
) )
} }