From b81d7ad2aad908365a89cf874853c8a59ffd9aa0 Mon Sep 17 00:00:00 2001 From: Eugene Date: Sun, 27 Oct 2019 17:46:54 -0400 Subject: [PATCH] NHentai: switch to SourceFactory --- src/all/nhentai/build.gradle | 4 ++-- .../tachiyomi/extension/all/nhentai/NHFactory.kt | 12 ++++++++++++ .../tachiyomi/extension/all/nhentai/NHFilters.kt | 5 ----- .../tachiyomi/extension/all/nhentai/NHLangs.kt | 5 ----- .../extension/all/nhentai/NHUrlActivity.kt | 3 ++- .../tachiyomi/extension/all/nhentai/NHUtils.kt | 3 +-- .../tachiyomi/extension/all/nhentai/NHentai.kt | 16 +++++++++++----- 7 files changed, 28 insertions(+), 20 deletions(-) create mode 100644 src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHFactory.kt delete mode 100644 src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHFilters.kt delete mode 100644 src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHLangs.kt diff --git a/src/all/nhentai/build.gradle b/src/all/nhentai/build.gradle index 15a9e4412..75ab4acb8 100644 --- a/src/all/nhentai/build.gradle +++ b/src/all/nhentai/build.gradle @@ -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' } diff --git a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHFactory.kt b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHFactory.kt new file mode 100644 index 000000000..2d04b48a7 --- /dev/null +++ b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHFactory.kt @@ -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 = listOf( + NHentai("en", "english"), + NHentai("ja", "japanese"), + NHentai("zh", "chinese") + ) +} diff --git a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHFilters.kt b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHFilters.kt deleted file mode 100644 index f37136034..000000000 --- a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHFilters.kt +++ /dev/null @@ -1,5 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.nhentai - -import eu.kanade.tachiyomi.source.model.Filter - -class SortFilter : Filter.Select("Sort", arrayOf("Popular", "Date")) \ No newline at end of file diff --git a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHLangs.kt b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHLangs.kt deleted file mode 100644 index 76ac099c3..000000000 --- a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHLangs.kt +++ /dev/null @@ -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") diff --git a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHUrlActivity.kt b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHUrlActivity.kt index 9009e102f..60c3131c3 100644 --- a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHUrlActivity.kt +++ b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHUrlActivity.kt @@ -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) } } diff --git a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHUtils.kt b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHUtils.kt index 68b6ac03a..67fce181e 100644 --- a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHUtils.kt +++ b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHUtils.kt @@ -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() } -} \ No newline at end of file +} diff --git a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt index 5dc727f49..98641a945 100644 --- a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt +++ b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt @@ -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("Sort", arrayOf("Popular", "Date")) + }