Change chapter list API endpoint at Tsuki. (#5951)
This commit is contained in:
parent
3797d52d60
commit
c95fa2be77
|
@ -5,7 +5,7 @@ ext {
|
||||||
extName = 'Tsuki Mangás'
|
extName = 'Tsuki Mangás'
|
||||||
pkgNameSuffix = 'pt.tsukimangas'
|
pkgNameSuffix = 'pt.tsukimangas'
|
||||||
extClass = '.TsukiMangas'
|
extClass = '.TsukiMangas'
|
||||||
extVersionCode = 10
|
extVersionCode = 11
|
||||||
libVersion = '1.2'
|
libVersion = '1.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,10 +39,8 @@ class TsukiMangas : HttpSource() {
|
||||||
|
|
||||||
override val supportsLatest = true
|
override val supportsLatest = true
|
||||||
|
|
||||||
private val rateLimitInterceptor = RateLimitInterceptor(100, 1, TimeUnit.MINUTES)
|
|
||||||
|
|
||||||
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||||
.addInterceptor(rateLimitInterceptor)
|
.addInterceptor(RateLimitInterceptor(3, 1, TimeUnit.SECONDS))
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
override fun headersBuilder(): Headers.Builder = Headers.Builder()
|
override fun headersBuilder(): Headers.Builder = Headers.Builder()
|
||||||
|
@ -183,39 +181,22 @@ class TsukiMangas : HttpSource() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun chapterListRequest(manga: SManga): Request = chapterListRequestPaginated(manga.url, 1)
|
override fun chapterListRequest(manga: SManga): Request {
|
||||||
|
val mangaId = manga.url.substringAfter("obra/").substringBefore("/")
|
||||||
private fun chapterListRequestPaginated(mangaUrl: String, page: Int): Request {
|
|
||||||
val mangaId = mangaUrl.substringAfter("obra/").substringBefore("/")
|
|
||||||
|
|
||||||
val newHeaders = headersBuilder()
|
val newHeaders = headersBuilder()
|
||||||
.set("Referer", baseUrl + mangaUrl)
|
.set("Referer", baseUrl + manga.url)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
return GET("$baseUrl/api/v2/chapters?manga_id=$mangaId&order=desc&page=$page", newHeaders)
|
return GET("$baseUrl/api/v2/chapters/$mangaId/all", newHeaders)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun chapterListParse(response: Response): List<SChapter> {
|
override fun chapterListParse(response: Response): List<SChapter> {
|
||||||
var result = response.asJson().obj
|
|
||||||
|
|
||||||
val mangaUrl = response.request().header("Referer")!!.substringAfter(baseUrl)
|
val mangaUrl = response.request().header("Referer")!!.substringAfter(baseUrl)
|
||||||
var page = 2
|
|
||||||
val lastPage = result["lastPage"].int
|
|
||||||
|
|
||||||
val chapters = result["data"].array
|
return response.asJson().array
|
||||||
.flatMap { chapterListItemParse(it.obj, mangaUrl) }
|
.flatMap { chapterListItemParse(it.obj, mangaUrl) }
|
||||||
.toMutableList()
|
.reversed()
|
||||||
|
|
||||||
while (page <= lastPage) {
|
|
||||||
val newRequest = chapterListRequestPaginated(mangaUrl, page++)
|
|
||||||
result = client.newCall(newRequest).execute().asJson().obj
|
|
||||||
|
|
||||||
chapters += result["data"].array
|
|
||||||
.flatMap { chapterListItemParse(it.obj, mangaUrl) }
|
|
||||||
.toMutableList()
|
|
||||||
}
|
|
||||||
|
|
||||||
return chapters
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun chapterListItemParse(obj: JsonObject, mangaUrl: String): List<SChapter> {
|
private fun chapterListItemParse(obj: JsonObject, mangaUrl: String): List<SChapter> {
|
||||||
|
|
Loading…
Reference in New Issue