From f50292b09962757d69be07fa4791a5be1a1076bc Mon Sep 17 00:00:00 2001 From: DitFranXX <45893338+DitFranXX@users.noreply.github.com> Date: Thu, 17 Sep 2020 22:11:56 +0900 Subject: [PATCH] Update NewToki Extension v1.2.15 (#4385) Update NewToki Extension v1.2.15 --- src/ko/newtoki/build.gradle | 2 +- .../tachiyomi/extension/ko/newtoki/NewToki.kt | 18 ++++++++++++++++++ .../extension/ko/newtoki/NewTokiFactory.kt | 2 +- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/ko/newtoki/build.gradle b/src/ko/newtoki/build.gradle index 389db9779..2eb4d5f4f 100644 --- a/src/ko/newtoki/build.gradle +++ b/src/ko/newtoki/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'NewToki' pkgNameSuffix = 'ko.newtoki' extClass = '.NewTokiFactory' - extVersionCode = 14 + extVersionCode = 15 libVersion = '1.2' } diff --git a/src/ko/newtoki/src/eu/kanade/tachiyomi/extension/ko/newtoki/NewToki.kt b/src/ko/newtoki/src/eu/kanade/tachiyomi/extension/ko/newtoki/NewToki.kt index 17c824712..ea85757c6 100644 --- a/src/ko/newtoki/src/eu/kanade/tachiyomi/extension/ko/newtoki/NewToki.kt +++ b/src/ko/newtoki/src/eu/kanade/tachiyomi/extension/ko/newtoki/NewToki.kt @@ -8,6 +8,7 @@ import android.support.v7.preference.PreferenceScreen import android.widget.Toast import eu.kanade.tachiyomi.extension.BuildConfig import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.asObservableSuccess import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage @@ -21,6 +22,7 @@ import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element +import rx.Observable import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat @@ -73,6 +75,20 @@ open class NewToki(override val name: String, private val defaultBaseUrl: String override fun searchMangaNextPageSelector() = popularMangaSelector() override fun searchMangaParse(response: Response) = popularMangaParse(response) override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request = GET("$baseUrl/$boardName" + (if (page > 1) "/p$page" else "") + "?stx=$query") + override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable { + return if (query.startsWith(PREFIX_ID_SEARCH)) { + val realQuery = query.removePrefix(PREFIX_ID_SEARCH) + val urlPath = "/$boardName/$realQuery" + client.newCall(GET("$baseUrl$urlPath")) + .asObservableSuccess() + .map { response -> + // TODO: Fix the error which caused by shares id field with detail and each chapters in the source + val details = mangaDetailsParse(response.asJsoup()) + details.url = urlPath + MangasPage(listOf(details), false) + } + } else super.fetchSearchManga(page, query, filters) + } override fun mangaDetailsParse(document: Document): SManga { val info = document.select("div.view-title > .view-content").first() @@ -242,5 +258,7 @@ open class NewToki(override val name: String, private val defaultBaseUrl: String private const val BASE_URL_PREF = "overrideBaseUrl_v${BuildConfig.VERSION_NAME}" private const val BASE_URL_PREF_SUMMARY = "For temporary uses. Update extension will erase this setting." private const val RESTART_TACHIYOMI = "Restart Tachiyomi to apply new setting." + + const val PREFIX_ID_SEARCH = "id:" } } diff --git a/src/ko/newtoki/src/eu/kanade/tachiyomi/extension/ko/newtoki/NewTokiFactory.kt b/src/ko/newtoki/src/eu/kanade/tachiyomi/extension/ko/newtoki/NewTokiFactory.kt index 4c949bda8..9e1d03fcb 100644 --- a/src/ko/newtoki/src/eu/kanade/tachiyomi/extension/ko/newtoki/NewTokiFactory.kt +++ b/src/ko/newtoki/src/eu/kanade/tachiyomi/extension/ko/newtoki/NewTokiFactory.kt @@ -23,7 +23,7 @@ import java.util.Locale * It was merged after shutdown of ManaMoa. * This is by the head of Manamoa, as they decided to move to Newtoki. */ -private val domainNumber = 33 + ((Date().time - SimpleDateFormat("yyyy-MM-dd", Locale.US).parse("2019-11-14")!!.time) / 595000000) +private val domainNumber = 32 + ((Date().time - SimpleDateFormat("yyyy-MM-dd", Locale.US).parse("2019-11-14")!!.time) / 595000000) class NewTokiFactory : SourceFactory { override fun createSources(): List = listOf(