NHentai: switch to SourceFactory
This commit is contained in:
parent
40de8b9723
commit
b81d7ad2aa
@ -4,8 +4,8 @@ apply plugin: 'kotlin-android'
|
||||
ext {
|
||||
appName = 'Tachiyomi: NHentai'
|
||||
pkgNameSuffix = 'all.nhentai'
|
||||
extClass = '.NHEnglish; .NHJapanese; .NHChinese'
|
||||
extVersionCode = 13
|
||||
extClass = '.NHFactory'
|
||||
extVersionCode = 14
|
||||
libVersion = '1.2'
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,12 @@
|
||||
package eu.kanade.tachiyomi.extension.all.nhentai
|
||||
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
import eu.kanade.tachiyomi.source.SourceFactory
|
||||
|
||||
class NHFactory : SourceFactory {
|
||||
override fun createSources(): List<Source> = listOf(
|
||||
NHentai("en", "english"),
|
||||
NHentai("ja", "japanese"),
|
||||
NHentai("zh", "chinese")
|
||||
)
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
package eu.kanade.tachiyomi.extension.all.nhentai
|
||||
|
||||
import eu.kanade.tachiyomi.source.model.Filter
|
||||
|
||||
class SortFilter : Filter.Select<String>("Sort", arrayOf("Popular", "Date"))
|
@ -1,5 +0,0 @@
|
||||
package eu.kanade.tachiyomi.extension.all.nhentai
|
||||
|
||||
class NHEnglish : NHentai("en", "english")
|
||||
class NHJapanese : NHentai("ja", "japanese")
|
||||
class NHChinese : NHentai("zh", "chinese")
|
@ -5,6 +5,7 @@ import android.content.ActivityNotFoundException
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
/**
|
||||
* Springboard that accepts https://nhentai.net/g/xxxxxx intents and redirects them to
|
||||
@ -32,6 +33,6 @@ class NHUrlActivity : Activity() {
|
||||
}
|
||||
|
||||
finish()
|
||||
System.exit(0)
|
||||
exitProcess(0)
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
package eu.kanade.tachiyomi.extension.all.nhentai
|
||||
|
||||
import org.jsoup.nodes.Document
|
||||
import java.lang.StringBuilder
|
||||
import java.text.SimpleDateFormat
|
||||
|
||||
class NHUtils {
|
||||
@ -88,4 +87,4 @@ class NHUtils {
|
||||
|
||||
private fun cleanTag(tag: String): String = tag.replace(Regex("\\(.*\\)"), "").trim()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import eu.kanade.tachiyomi.extension.all.nhentai.NHUtils.Companion.getTags
|
||||
import eu.kanade.tachiyomi.extension.all.nhentai.NHUtils.Companion.getTime
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.network.asObservableSuccess
|
||||
import eu.kanade.tachiyomi.source.model.Filter
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||
import eu.kanade.tachiyomi.source.model.Page
|
||||
@ -23,7 +24,10 @@ import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import rx.Observable
|
||||
|
||||
open class NHentai(override val lang: String, private val nhLang: String) : ParsedHttpSource() {
|
||||
open class NHentai(
|
||||
override val lang: String,
|
||||
private val nhLang: String
|
||||
) : ParsedHttpSource() {
|
||||
|
||||
final override val baseUrl = "https://nhentai.net"
|
||||
|
||||
@ -63,8 +67,8 @@ open class NHentai(override val lang: String, private val nhLang: String) : Pars
|
||||
return if (query.startsWith(PREFIX_ID_SEARCH)) {
|
||||
val id = query.removePrefix(PREFIX_ID_SEARCH)
|
||||
client.newCall(searchMangaByIdRequest(id))
|
||||
.asObservableSuccess()
|
||||
.map { response -> searchMangaByIdParse(response, id) }
|
||||
.asObservableSuccess()
|
||||
.map { response -> searchMangaByIdParse(response, id) }
|
||||
} else {
|
||||
return super.fetchSearchManga(page, query, filters)
|
||||
}
|
||||
@ -72,8 +76,8 @@ open class NHentai(override val lang: String, private val nhLang: String) : Pars
|
||||
|
||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
||||
val url = HttpUrl.parse("$baseUrl/search")!!.newBuilder()
|
||||
.addQueryParameter("q", "$query +$nhLang")
|
||||
.addQueryParameter("page", page.toString())
|
||||
.addQueryParameter("q", "$query +$nhLang")
|
||||
.addQueryParameter("page", page.toString())
|
||||
|
||||
filters.forEach {
|
||||
when (it) {
|
||||
@ -148,4 +152,6 @@ open class NHentai(override val lang: String, private val nhLang: String) : Pars
|
||||
const val PREFIX_ID_SEARCH = "id:"
|
||||
}
|
||||
|
||||
private class SortFilter : Filter.Select<String>("Sort", arrayOf("Popular", "Date"))
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user