added search by id

master
Naga 2 years ago
parent 3913e95b53
commit 38d7d97167

@ -35,9 +35,18 @@ internal class NHentaiParser(context: MangaLoaderContext) :
when (filter) { when (filter) {
is MangaListFilter.Search -> { is MangaListFilter.Search -> {
append("/search/?q=pages:>0 ") // Check if the query is all numbers
append(filter.query.urlEncoded()) val numericQuery = filter.query.trim()
append("&") if (numericQuery.matches("\\d+".toRegex())) {
val title = fetchMangaTitle("$this/g/$numericQuery/")
append("/search/?q=pages:>0 ")
append(title)
append("&")
} else {
append("/search/?q=pages:>0 ")
append(filter.query.urlEncoded())
append("&")
}
} }
is MangaListFilter.Advanced -> { is MangaListFilter.Advanced -> {
@ -89,6 +98,11 @@ internal class NHentaiParser(context: MangaLoaderContext) :
return parseMangaList(webClient.httpGet(url).parseHtml()) return parseMangaList(webClient.httpGet(url).parseHtml())
} }
private suspend fun fetchMangaTitle(url: String): String {
val doc = webClient.httpGet(url).parseHtml()
return doc.selectFirstOrThrow("h1.title").text().trim()
}
override suspend fun getPageUrl(page: MangaPage): String { override suspend fun getPageUrl(page: MangaPage): String {
val doc = webClient.httpGet(page.url.toAbsoluteUrl(domain)).parseHtml() val doc = webClient.httpGet(page.url.toAbsoluteUrl(domain)).parseHtml()
val root = doc.body() val root = doc.body()

Loading…
Cancel
Save