fix(pt/animesdigital): Fetch all episodes on multi-page animes (#2242)
This commit is contained in:
@ -8,7 +8,7 @@ ext {
|
||||
extName = 'Animes Digital'
|
||||
pkgNameSuffix = 'pt.animesdigital'
|
||||
extClass = '.AnimesDigital'
|
||||
extVersionCode = 1
|
||||
extVersionCode = 2
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -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 {
|
||||
|
Reference in New Issue
Block a user