fix(pt/animesdigital): Fetch all episodes on multi-page animes (#2242)

This commit is contained in:
Guaxinim
2023-09-25 08:26:46 -03:00
committed by GitHub
parent b93693883c
commit 44700083f4
2 changed files with 14 additions and 2 deletions

View File

@ -8,7 +8,7 @@ ext {
extName = 'Animes Digital'
pkgNameSuffix = 'pt.animesdigital'
extClass = '.AnimesDigital'
extVersionCode = 1
extVersionCode = 2
libVersion = '13'
}

View File

@ -57,7 +57,19 @@ class AnimesDigital : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
// ============================== Episodes ==============================
override fun episodeListParse(response: Response): List<SEpisode> {
val doc = getRealDoc(response.asJsoup())
return doc.select(episodeListSelector()).map(::episodeFromElement)
val pagination = doc.selectFirst("ul.content-pagination")
return if (pagination != null) {
val episodes = mutableListOf<SEpisode>()
episodes += doc.select(episodeListSelector()).map(::episodeFromElement)
val lastPage = doc.selectFirst("ul.content-pagination > li:nth-last-child(2) > span")!!.text().toInt()
for (i in 2..lastPage) {
val request = GET(doc.location() + "/page/$i", headers)
val res = client.newCall(request).execute()
val pageDoc = res.use { it.asJsoup() }
episodes += pageDoc.select(episodeListSelector()).map(::episodeFromElement)
}
episodes
} else doc.select(episodeListSelector()).map(::episodeFromElement)
}
override fun episodeFromElement(element: Element) = SEpisode.create().apply {