Add recursive parsing for chapters in ComicHubFree (#8605)

Fixed pagination
This commit is contained in:
Wyatt Ross 2025-04-24 13:11:45 -04:00 committed by Draff
parent 7c7ce285cd
commit 9dfa9a89a0
No known key found for this signature in database
GPG Key ID: E8A89F3211677653
2 changed files with 19 additions and 2 deletions

View File

@ -1,7 +1,7 @@
ext {
extName = "ComicHubFree"
extClass = ".ComicHubFree"
extVersionCode = 1
extVersionCode = 2
isNsfw = false
}

View File

@ -6,9 +6,11 @@ import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.tryParse
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import java.text.SimpleDateFormat
@ -33,7 +35,7 @@ class ComicHubFree : ParsedHttpSource() {
override fun searchMangaSelector() = popularMangaSelector()
override fun popularMangaNextPageSelector() = "ul.pagination > li:last-child"
override fun popularMangaNextPageSelector() = "ul.pagination a[rel=next]:not(hidden)"
override fun latestUpdatesNextPageSelector() = popularMangaNextPageSelector()
@ -41,6 +43,21 @@ class ComicHubFree : ParsedHttpSource() {
override fun chapterListSelector() = "div.episode-list > div > table > tbody > tr"
override fun chapterListParse(response: Response): List<SChapter> {
val chapters = mutableListOf<SChapter>()
fun parseChapters(document: Document) {
document.select(chapterListSelector()).map { chapters.add(chapterFromElement(it)) }
document.selectFirst(popularMangaNextPageSelector())?.let { it ->
parseChapters(client.newCall(GET(it.absUrl("href"), headers)).execute().asJsoup())
}
}
parseChapters(response.asJsoup())
return chapters
}
override fun imageUrlParse(document: Document) = ""
private fun Element.imageAttr(): String {