mirror of
https://github.com/mihonapp/mihon.git
synced 2025-11-15 13:37:29 +01:00
Add nhentai URL importing
Allow fast importing of single URLs by inputting the URL into the source's search bar
This commit is contained in:
@@ -26,6 +26,8 @@ import okhttp3.CacheControl
|
||||
import okhttp3.Headers
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Document
|
||||
import exh.GalleryAdder
|
||||
import exh.util.urlImportFetchSearchManga
|
||||
|
||||
class EHentai(override val id: Long,
|
||||
val exh: Boolean,
|
||||
@@ -50,6 +52,8 @@ class EHentai(override val id: Long,
|
||||
|
||||
val metadataHelper = MetadataHelper()
|
||||
|
||||
val galleryAdder = GalleryAdder()
|
||||
|
||||
/**
|
||||
* Gallery list entry
|
||||
*/
|
||||
@@ -142,6 +146,12 @@ class EHentai(override val id: Long,
|
||||
else
|
||||
exGet("$baseUrl/toplist.php?tl=15", page)
|
||||
|
||||
//Support direct URL importing
|
||||
override fun fetchSearchManga(page: Int, query: String, filters: FilterList) =
|
||||
urlImportFetchSearchManga(query, {
|
||||
super.fetchSearchManga(page, query, filters)
|
||||
})
|
||||
|
||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
||||
val uri = Uri.parse("$baseUrl$QUERY_PREFIX").buildUpon()
|
||||
uri.appendQueryParameter("f_search", query)
|
||||
|
||||
@@ -21,6 +21,7 @@ import exh.metadata.MetadataHelper
|
||||
import exh.metadata.copyTo
|
||||
import exh.metadata.models.NHentaiMetadata
|
||||
import exh.metadata.models.Tag
|
||||
import exh.util.urlImportFetchSearchManga
|
||||
import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
import rx.Observable
|
||||
@@ -45,6 +46,12 @@ class NHentai(context: Context) : HttpSource() {
|
||||
TODO("Currently unavailable!")
|
||||
}
|
||||
|
||||
//Support direct URL importing
|
||||
override fun fetchSearchManga(page: Int, query: String, filters: FilterList) =
|
||||
urlImportFetchSearchManga(query, {
|
||||
super.fetchSearchManga(page, query, filters)
|
||||
})
|
||||
|
||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
||||
//Currently we have no filters
|
||||
//TODO Filter builder
|
||||
@@ -82,7 +89,7 @@ class NHentai(context: Context) : HttpSource() {
|
||||
= nhGet(manga.url)
|
||||
|
||||
fun urlToDetailsRequest(url: String)
|
||||
= nhGet(baseUrl + "/api/gallery/" + url.split("/").last())
|
||||
= nhGet(baseUrl + "/api/gallery/" + url.split("/").last { it.isNotBlank() })
|
||||
|
||||
fun parseResultPage(response: Response): MangasPage {
|
||||
val res = jsonParser.parse(response.body()!!.string()).asJsonObject
|
||||
|
||||
Reference in New Issue
Block a user