Change chapter list API endpoint at Tsuki. (#5951)

This commit is contained in:
Alessandro Jean 2021-02-21 15:01:44 -03:00 committed by GitHub
parent 3797d52d60
commit c95fa2be77
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 27 deletions

View File

@ -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'
} }

View File

@ -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> {