parent
307540a2aa
commit
6ed5e31f37
|
@ -1,7 +1,7 @@
|
||||||
ext {
|
ext {
|
||||||
extName = 'Danbooru'
|
extName = 'Danbooru'
|
||||||
extClass = '.Danbooru'
|
extClass = '.Danbooru'
|
||||||
extVersionCode = 1
|
extVersionCode = 2
|
||||||
isNsfw = true
|
isNsfw = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,54 +47,52 @@ class Danbooru : ParsedHttpSource() {
|
||||||
override fun popularMangaSelector(): String =
|
override fun popularMangaSelector(): String =
|
||||||
searchMangaSelector()
|
searchMangaSelector()
|
||||||
|
|
||||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList) = Request(
|
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
||||||
url = "$baseUrl/pools/gallery".toHttpUrl().newBuilder().run {
|
val url = "$baseUrl/pools/gallery".toHttpUrl().newBuilder()
|
||||||
setEncodedQueryParameter("search[category]", "series")
|
|
||||||
|
|
||||||
filters.forEach {
|
url.setEncodedQueryParameter("search[category]", "series")
|
||||||
when (it) {
|
|
||||||
is FilterTags -> if (it.state.isNotBlank()) {
|
|
||||||
addQueryParameter("search[post_tags_match]", it.state)
|
|
||||||
}
|
|
||||||
|
|
||||||
is FilterDescription -> if (it.state.isNotBlank()) {
|
filters.forEach {
|
||||||
addQueryParameter("search[description_matches]", it.state)
|
when (it) {
|
||||||
}
|
is FilterTags -> if (it.state.isNotBlank()) {
|
||||||
|
url.addQueryParameter("search[post_tags_match]", it.state)
|
||||||
is FilterIsDeleted -> if (it.state) {
|
|
||||||
addEncodedQueryParameter("search[is_deleted]", "true")
|
|
||||||
}
|
|
||||||
|
|
||||||
is FilterCategory -> {
|
|
||||||
setEncodedQueryParameter("search[category]", it.selected)
|
|
||||||
}
|
|
||||||
|
|
||||||
is FilterOrder -> if (it.selected != null) {
|
|
||||||
addEncodedQueryParameter("search[order]", it.selected)
|
|
||||||
}
|
|
||||||
|
|
||||||
else -> throw IllegalStateException("Unrecognized filter")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
is FilterDescription -> if (it.state.isNotBlank()) {
|
||||||
|
url.addQueryParameter("search[description_matches]", it.state)
|
||||||
|
}
|
||||||
|
|
||||||
|
is FilterIsDeleted -> if (it.state) {
|
||||||
|
url.addEncodedQueryParameter("search[is_deleted]", "true")
|
||||||
|
}
|
||||||
|
|
||||||
|
is FilterCategory -> {
|
||||||
|
url.setEncodedQueryParameter("search[category]", it.selected)
|
||||||
|
}
|
||||||
|
|
||||||
|
is FilterOrder -> if (it.selected != null) {
|
||||||
|
url.addEncodedQueryParameter("search[order]", it.selected)
|
||||||
|
}
|
||||||
|
|
||||||
|
else -> throw IllegalStateException("Unrecognized filter")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
addEncodedQueryParameter("page", page.toString())
|
url.addEncodedQueryParameter("page", page.toString())
|
||||||
|
|
||||||
if (query.isNotBlank()) {
|
if (query.isNotBlank()) {
|
||||||
addQueryParameter("search[name_contains]", query)
|
url.addQueryParameter("search[name_contains]", query)
|
||||||
}
|
}
|
||||||
|
|
||||||
build()
|
return GET(url.build(), headers)
|
||||||
},
|
}
|
||||||
|
|
||||||
headers = headers,
|
|
||||||
)
|
|
||||||
|
|
||||||
override fun searchMangaSelector(): String =
|
override fun searchMangaSelector(): String =
|
||||||
".post-preview"
|
"article.post-preview"
|
||||||
|
|
||||||
override fun searchMangaFromElement(element: Element) = SManga.create().apply {
|
override fun searchMangaFromElement(element: Element) = SManga.create().apply {
|
||||||
url = element.selectFirst(".post-preview-link")?.attr("href")!!
|
url = element.selectFirst(".post-preview-link")?.attr("href")!!
|
||||||
title = element.selectFirst(".desc")?.text() ?: ""
|
title = element.selectFirst("div.text-center")?.text() ?: ""
|
||||||
|
|
||||||
thumbnail_url = element.selectFirst("source")?.attr("srcset")
|
thumbnail_url = element.selectFirst("source")?.attr("srcset")
|
||||||
?.substringAfterLast(',')?.trim()
|
?.substringAfterLast(',')?.trim()
|
||||||
|
|
Loading…
Reference in New Issue