Desu (RU): fix search encoding, add headers (#8979)

* Desu (RU): fix search encoding

* Desu (RU): add headers everywhere

* Desu (RU): bump
This commit is contained in:
Vetle Ledaal 2025-05-30 03:40:33 +02:00 committed by Draff
parent df9a8029d3
commit 40f3502d10
Signed by: Draff
GPG Key ID: E8A89F3211677653
2 changed files with 13 additions and 9 deletions

View File

@ -1,7 +1,8 @@
ext {
extName = 'Desu'
extClass = '.Desu'
extVersionCode = 27
extVersionCode = 28
isNsfw = true
}
apply from: "$rootDir/common.gradle"

View File

@ -139,22 +139,25 @@ class Desu : ConfigurableSource, HttpSource() {
}
override fun popularMangaRequest(page: Int) =
GET("$baseUrl$API_URL/?limit=50&order=popular&page=$page")
GET("$baseUrl$API_URL/?limit=50&order=popular&page=$page", headers)
override fun popularMangaParse(response: Response) = searchMangaParse(response)
override fun latestUpdatesRequest(page: Int) =
GET("$baseUrl$API_URL/?limit=50&order=updated&page=$page")
GET("$baseUrl$API_URL/?limit=50&order=updated&page=$page", headers)
override fun latestUpdatesParse(response: Response): MangasPage = searchMangaParse(response)
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
var url = "$baseUrl$API_URL/?limit=20&page=$page"
val url = "$baseUrl$API_URL/".toHttpUrl().newBuilder()
.addQueryParameter("limit", "20")
.addQueryParameter("page", page.toString())
val types = mutableListOf<Type>()
val genres = mutableListOf<Genre>()
(if (filters.isEmpty()) getFilterList() else filters).forEach { filter ->
when (filter) {
is OrderBy -> url += "&order=" + arrayOf("popular", "updated", "name")[filter.state]
is OrderBy -> url.addQueryParameter("order", arrayOf("popular", "updated", "name")[filter.state])
is TypeList -> filter.state.forEach { type -> if (type.state) types.add(type) }
is GenreList -> filter.state.forEach { genre -> if (genre.state) genres.add(genre) }
else -> {}
@ -162,15 +165,15 @@ class Desu : ConfigurableSource, HttpSource() {
}
if (types.isNotEmpty()) {
url += "&kinds=" + types.joinToString(",") { it.id }
url.addQueryParameter("kinds", types.joinToString(",") { it.id })
}
if (genres.isNotEmpty()) {
url += "&genres=" + genres.joinToString(",") { it.id }
url.addQueryParameter("genres", genres.joinToString(",") { it.id })
}
if (query.isNotEmpty()) {
url += "&search=$query"
url.addQueryParameter("search", query)
}
return GET(url)
return GET(url.build(), headers)
}
override fun searchMangaParse(response: Response): MangasPage {