HuntersScans: Fix chapter list (#9809)

* Fix chapter list

* Remove the extra request and the mutable list

* Use a simple loop to retrieve the chapter page
This commit is contained in:
Chopper 2025-07-28 07:41:41 -03:00 committed by Draff
parent 9183d5e2d0
commit d4fb412f9e
Signed by: Draff
GPG Key ID: E8A89F3211677653
2 changed files with 26 additions and 2 deletions

View File

@ -3,7 +3,7 @@ ext {
extClass = '.HuntersScans' extClass = '.HuntersScans'
themePkg = 'madara' themePkg = 'madara'
baseUrl = 'https://readhunters.xyz' baseUrl = 'https://readhunters.xyz'
overrideVersionCode = 7 overrideVersionCode = 8
isNsfw = true isNsfw = true
} }

View File

@ -1,7 +1,12 @@
package eu.kanade.tachiyomi.extension.pt.huntersscans package eu.kanade.tachiyomi.extension.pt.huntersscans
import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.multisrc.madara.Madara
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.network.interceptor.rateLimit
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.util.asJsoup
import rx.Observable
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Locale import java.util.Locale
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
@ -21,5 +26,24 @@ class HuntersScans : Madara(
override val useLoadMoreRequest = LoadMoreStrategy.Always override val useLoadMoreRequest = LoadMoreStrategy.Always
override val useNewChapterEndpoint = true override fun fetchChapterList(manga: SManga): Observable<List<SChapter>> =
Observable.fromCallable { fetchAllChapters(manga) }
private fun fetchAllChapters(manga: SManga): List<SChapter> {
val chapters = mutableListOf<SChapter>()
var page = 1
while (true) {
val document = client.newCall(POST("${getMangaUrl(manga)}ajax/chapters?t=${page++}", xhrHeaders))
.execute()
.asJsoup()
val currentPage = document.select(chapterListSelector())
.map(::chapterFromElement)
chapters += currentPage
if (currentPage.isEmpty()) {
return chapters
}
}
}
} }