NHentai: handle ID searches
This commit is contained in:
parent
b6e6a9abc0
commit
8444b4c008
@ -5,7 +5,7 @@ ext {
|
||||
appName = 'Tachiyomi: NHentai'
|
||||
pkgNameSuffix = 'all.nhentai'
|
||||
extClass = '.NHFactory'
|
||||
extVersionCode = 23
|
||||
extVersionCode = 24
|
||||
libVersion = '1.2'
|
||||
}
|
||||
|
||||
|
@ -128,16 +128,28 @@ open class NHentai(
|
||||
override fun popularMangaNextPageSelector() = latestUpdatesNextPageSelector()
|
||||
|
||||
override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable<MangasPage> {
|
||||
return if (query.startsWith(PREFIX_ID_SEARCH)) {
|
||||
val id = query.removePrefix(PREFIX_ID_SEARCH)
|
||||
client.newCall(searchMangaByIdRequest(id))
|
||||
.asObservableSuccess()
|
||||
.map { response -> searchMangaByIdParse(response, id) }
|
||||
} else {
|
||||
return super.fetchSearchManga(page, query, filters)
|
||||
return when {
|
||||
query.startsWith(PREFIX_ID_SEARCH) -> {
|
||||
val id = query.removePrefix(PREFIX_ID_SEARCH)
|
||||
client.newCall(searchMangaByIdRequest(id))
|
||||
.asObservableSuccess()
|
||||
.map { response -> searchMangaByIdParse(response, id) }
|
||||
}
|
||||
query.isQueryIdNumbers() -> {
|
||||
client.newCall(searchMangaByIdRequest(query))
|
||||
.asObservableSuccess()
|
||||
.map { response -> searchMangaByIdParse(response, query) }
|
||||
}
|
||||
else -> super.fetchSearchManga(page, query, filters)
|
||||
}
|
||||
}
|
||||
|
||||
// The website redirects for any number <= 400000
|
||||
private fun String.isQueryIdNumbers(): Boolean {
|
||||
val int = this.toIntOrNull() ?: return false
|
||||
return int <= 400000
|
||||
}
|
||||
|
||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
||||
val filters = if (filters.isEmpty()) getFilterList() else filters
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user