From ee8efb1c4ee1ce91f928dec0992df49ac06b8daf Mon Sep 17 00:00:00 2001 From: Maxim Molochkov <48491463+klaseca@users.noreply.github.com> Date: Tue, 7 Jun 2022 03:46:19 +0400 Subject: [PATCH] [RU] Mangachan - Return "Latest" (#12098) --- src/ru/mangachan/build.gradle | 2 +- .../extension/ru/mangachan/Mangachan.kt | 23 +++++++++++++++---- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/ru/mangachan/build.gradle b/src/ru/mangachan/build.gradle index f625589a7..633254258 100644 --- a/src/ru/mangachan/build.gradle +++ b/src/ru/mangachan/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Mangachan' pkgNameSuffix = 'ru.mangachan' extClass = '.Mangachan' - extVersionCode = 13 + extVersionCode = 14 } apply from: "$rootDir/common.gradle" diff --git a/src/ru/mangachan/src/eu/kanade/tachiyomi/extension/ru/mangachan/Mangachan.kt b/src/ru/mangachan/src/eu/kanade/tachiyomi/extension/ru/mangachan/Mangachan.kt index e6ac60054..b5bd0605f 100644 --- a/src/ru/mangachan/src/eu/kanade/tachiyomi/extension/ru/mangachan/Mangachan.kt +++ b/src/ru/mangachan/src/eu/kanade/tachiyomi/extension/ru/mangachan/Mangachan.kt @@ -28,7 +28,7 @@ class Mangachan : ParsedHttpSource() { override val lang = "ru" - override val supportsLatest = false + override val supportsLatest = true override val client: OkHttpClient = network.client.newBuilder() .rateLimit(2) @@ -66,6 +66,7 @@ class Mangachan : ParsedHttpSource() { } } is Status -> status = arrayOf("", "all_done", "end", "ongoing", "new_ch")[filter.state] + else -> continue } } @@ -79,6 +80,7 @@ class Mangachan : ParsedHttpSource() { arrayOf("&n=dateasc", "&n=favdesc", "&n=abcasc", "&n=chdesc")[filter.state!!.index] } } + else -> continue } } if (statusParam) { @@ -96,6 +98,7 @@ class Mangachan : ParsedHttpSource() { arrayOf("manga/new&n=dateasc", "mostfavorites", "catalog", "sortch")[filter.state!!.index] } } + else -> continue } } if (statusParam) { @@ -108,13 +111,12 @@ class Mangachan : ParsedHttpSource() { return GET(url, headers) } - override fun latestUpdatesRequest(page: Int): Request = throw UnsupportedOperationException("Not used") - override fun latestUpdatesSelector() = throw UnsupportedOperationException("Not used") - override fun latestUpdatesFromElement(element: Element) = throw UnsupportedOperationException("Not used") - override fun latestUpdatesNextPageSelector() = throw UnsupportedOperationException("Not used") + override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/manga/new?offset=${20 * (page - 1)}") override fun popularMangaSelector() = "div.content_row" + override fun latestUpdatesSelector() = popularMangaSelector() + override fun searchMangaSelector() = popularMangaSelector() override fun popularMangaFromElement(element: Element): SManga { @@ -127,8 +129,19 @@ class Mangachan : ParsedHttpSource() { return manga } + override fun latestUpdatesFromElement(element: Element): SManga { + val manga = SManga.create() + manga.title = element.attr("title") + element.select("a:nth-child(1)").first().let { + manga.setUrlWithoutDomain(it.attr("href")) + } + return manga + } + override fun searchMangaFromElement(element: Element): SManga = popularMangaFromElement(element) + override fun latestUpdatesNextPageSelector() = popularMangaNextPageSelector() + override fun popularMangaNextPageSelector() = "a:contains(Вперед)" override fun searchMangaNextPageSelector() = "a:contains(Далее)"