From 46004537244e1d678e3e33a9af51c5949defebd7 Mon Sep 17 00:00:00 2001 From: beerpsi <92439990+beerpiss@users.noreply.github.com> Date: Thu, 19 Jan 2023 21:26:13 +0700 Subject: [PATCH] [BlogTruyen] Search pagination, narrower intent filters, latestUpdates to homepage (#15030) * [BlogTruyen] Fix search pagination, move latestUpdates back to homepage * fix: intent filter should not accept forum links * just to be safe --- src/vi/blogtruyen/AndroidManifest.xml | 4 +-- src/vi/blogtruyen/build.gradle | 2 +- .../extension/vi/blogtruyen/BlogTruyen.kt | 29 +++++-------------- 3 files changed, 11 insertions(+), 24 deletions(-) diff --git a/src/vi/blogtruyen/AndroidManifest.xml b/src/vi/blogtruyen/AndroidManifest.xml index ee53427f8..fb26bfecb 100644 --- a/src/vi/blogtruyen/AndroidManifest.xml +++ b/src/vi/blogtruyen/AndroidManifest.xml @@ -12,8 +12,8 @@ <category android:name="android.intent.category.BROWSABLE" /> <data android:host="blogtruyen.vn" /> - <data android:host="*.blogtruyen.vn" /> - <data android:pathPattern="/..*" + <data android:host="m.blogtruyen.vn" /> + <data android:pathPattern="/..*/..*" android:scheme="https" /> </intent-filter> </activity> diff --git a/src/vi/blogtruyen/build.gradle b/src/vi/blogtruyen/build.gradle index 1b7ecb82e..49590524b 100644 --- a/src/vi/blogtruyen/build.gradle +++ b/src/vi/blogtruyen/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'BlogTruyen' pkgNameSuffix = 'vi.blogtruyen' extClass = '.BlogTruyen' - extVersionCode = 12 + extVersionCode = 13 isNsfw = true } diff --git a/src/vi/blogtruyen/src/eu/kanade/tachiyomi/extension/vi/blogtruyen/BlogTruyen.kt b/src/vi/blogtruyen/src/eu/kanade/tachiyomi/extension/vi/blogtruyen/BlogTruyen.kt index 9696b8d80..349236db0 100644 --- a/src/vi/blogtruyen/src/eu/kanade/tachiyomi/extension/vi/blogtruyen/BlogTruyen.kt +++ b/src/vi/blogtruyen/src/eu/kanade/tachiyomi/extension/vi/blogtruyen/BlogTruyen.kt @@ -86,30 +86,17 @@ class BlogTruyen : ParsedHttpSource() { override fun popularMangaNextPageSelector() = ".paging:last-child:not(.current_page)" override fun latestUpdatesRequest(page: Int): Request = - GET("$baseUrl/ajax/Search/AjaxLoadListManga?key=tatca&orderBy=5&p=$page", headers) + GET(baseUrl + if (page != 1) "/page-$page" else "", headers) - override fun latestUpdatesParse(response: Response): MangasPage { - val document = response.asJsoup() + override fun latestUpdatesSelector() = ".storyitem .fl-l" - val manga = document.select(latestUpdatesSelector()).map { - val tiptip = it.attr("data-tiptip") - latestUpdatesFromElement(it, document.getElementById(tiptip)) - } - - val hasNextPage = document.selectFirst(latestUpdatesNextPageSelector()) != null - - return MangasPage(manga, hasNextPage) + override fun latestUpdatesFromElement(element: Element): SManga = SManga.create().apply { + setUrlWithoutDomain(element.select("a").attr("href")) + title = element.select("a").attr("title") + thumbnail_url = element.select("img").attr("abs:src") } - override fun latestUpdatesSelector() = popularMangaSelector() - - private fun latestUpdatesFromElement(element: Element, tiptip: Element): SManga = - popularMangaFromElement(element, tiptip) - - override fun latestUpdatesFromElement(element: Element): SManga = - throw UnsupportedOperationException("Not used") - - override fun latestUpdatesNextPageSelector() = popularMangaNextPageSelector() + override fun latestUpdatesNextPageSelector() = "select.slcPaging option:last-child:not([selected])" override fun fetchSearchManga( page: Int, @@ -137,7 +124,7 @@ class BlogTruyen : ParsedHttpSource() { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { val url = "$baseUrl/timkiem/nangcao/1".toHttpUrl().newBuilder().apply { addQueryParameter("txt", query) - addQueryParameter("page", page.toString()) + addQueryParameter("p", page.toString()) val genres = mutableListOf<Int>() val genresEx = mutableListOf<Int>()