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