parent
45b5e362c7
commit
268b4cb4d7
@ -1,11 +1,63 @@
|
||||
package eu.kanade.tachiyomi.extension.id.ngomik
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.Filter
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import okhttp3.Headers
|
||||
import okhttp3.HttpUrl.Companion.toHttpUrl
|
||||
import okhttp3.Request
|
||||
|
||||
class Ngomik : MangaThemesia("Ngomik", "https://ngomik.net", "id", "/manga") {
|
||||
|
||||
class Ngomik : MangaThemesia("Ngomik", "https://ngomik.net", "id", "/all-komik") {
|
||||
private val userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"
|
||||
|
||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
||||
val url = baseUrl.toHttpUrl().newBuilder()
|
||||
.addPathSegment(mangaUrlDirectory.substring(1))
|
||||
.addQueryParameter("page", page.toString())
|
||||
|
||||
if (query.isNullOrBlank().not()) {
|
||||
url.addQueryParameter("title", query)
|
||||
}
|
||||
|
||||
filters.forEach { filter ->
|
||||
when (filter) {
|
||||
is AuthorFilter -> {
|
||||
url.addQueryParameter("author", filter.state)
|
||||
}
|
||||
is YearFilter -> {
|
||||
url.addQueryParameter("yearx", filter.state)
|
||||
}
|
||||
is StatusFilter -> {
|
||||
url.addQueryParameter("status", filter.selectedValue())
|
||||
}
|
||||
is TypeFilter -> {
|
||||
url.addQueryParameter("type", filter.selectedValue())
|
||||
}
|
||||
is OrderByFilter -> {
|
||||
url.addQueryParameter("order", filter.selectedValue())
|
||||
}
|
||||
is GenreListFilter -> {
|
||||
filter.state
|
||||
.filter { it.state != Filter.TriState.STATE_IGNORE }
|
||||
.forEach {
|
||||
val value = if (it.state == Filter.TriState.STATE_EXCLUDE) "-${it.value}" else it.value
|
||||
url.addQueryParameter("genre[]", value)
|
||||
}
|
||||
}
|
||||
// if site has project page, default value "hasProjectPage" = false
|
||||
is ProjectFilter -> {
|
||||
if (filter.selectedValue() == "project-filter-on") {
|
||||
url.setPathSegment(0, projectPageString.substring(1))
|
||||
}
|
||||
}
|
||||
else -> { /* Do Nothing */ }
|
||||
}
|
||||
}
|
||||
return GET(url.toString())
|
||||
}
|
||||
|
||||
override fun headersBuilder(): Headers.Builder = Headers.Builder()
|
||||
.add("User-Agent", userAgent)
|
||||
.add("Referer", baseUrl)
|
||||
|
@ -304,9 +304,9 @@ abstract class MangaThemesia(
|
||||
}
|
||||
|
||||
// Filters
|
||||
private class AuthorFilter : Filter.Text("Author")
|
||||
protected class AuthorFilter : Filter.Text("Author")
|
||||
|
||||
private class YearFilter : Filter.Text("Year")
|
||||
protected class YearFilter : Filter.Text("Year")
|
||||
|
||||
open class SelectFilter(
|
||||
displayName: String,
|
||||
|
@ -77,7 +77,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
|
||||
SingleLang("Mihentai", "https://mihentai.com", "all", isNsfw = true, overrideVersionCode = 2),
|
||||
SingleLang("Mode Scanlator", "https://modescanlator.com", "pt-BR", overrideVersionCode = 8),
|
||||
SingleLang("Nekomik", "https://nekomik.com", "id"),
|
||||
SingleLang("Ngomik", "https://ngomik.net", "id", overrideVersionCode = 1),
|
||||
SingleLang("Ngomik", "https://ngomik.net", "id", overrideVersionCode = 2),
|
||||
SingleLang("NIGHT SCANS", "https://nightscans.org", "en", isNsfw = true, className = "NightScans"),
|
||||
SingleLang("Nocturnal Scans", "https://nocturnalscans.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("Omega Scans", "https://omegascans.org", "en", isNsfw = true),
|
||||
|
Loading…
x
Reference in New Issue
Block a user