fix(pt/animesdigital): Fetch all episodes on multi-page animes (#2242)
This commit is contained in:
@ -8,7 +8,7 @@ ext {
|
|||||||
extName = 'Animes Digital'
|
extName = 'Animes Digital'
|
||||||
pkgNameSuffix = 'pt.animesdigital'
|
pkgNameSuffix = 'pt.animesdigital'
|
||||||
extClass = '.AnimesDigital'
|
extClass = '.AnimesDigital'
|
||||||
extVersionCode = 1
|
extVersionCode = 2
|
||||||
libVersion = '13'
|
libVersion = '13'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +57,19 @@ class AnimesDigital : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
// ============================== Episodes ==============================
|
// ============================== Episodes ==============================
|
||||||
override fun episodeListParse(response: Response): List<SEpisode> {
|
override fun episodeListParse(response: Response): List<SEpisode> {
|
||||||
val doc = getRealDoc(response.asJsoup())
|
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 {
|
override fun episodeFromElement(element: Element) = SEpisode.create().apply {
|
||||||
|
Reference in New Issue
Block a user