From 21b399555e2a35fa64f8c645d128b8d017d0d17a Mon Sep 17 00:00:00 2001 From: happywillow0 <45346080+happywillow0@users.noreply.github.com> Date: Tue, 20 Sep 2022 22:59:14 -0400 Subject: [PATCH] MyReadingManga Misc Updates (#13532) * Reorder Sort Filters * Cache Filters from Latest if needed --- src/all/myreadingmanga/build.gradle | 2 +- .../all/myreadingmanga/MyReadingManga.kt | 20 +++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/all/myreadingmanga/build.gradle b/src/all/myreadingmanga/build.gradle index c667d7d75..bb96eaddc 100644 --- a/src/all/myreadingmanga/build.gradle +++ b/src/all/myreadingmanga/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'MyReadingManga' pkgNameSuffix = 'all.myreadingmanga' extClass = '.MyReadingMangaFactory' - extVersionCode = 45 + extVersionCode = 46 isNsfw = true } diff --git a/src/all/myreadingmanga/src/eu/kanade/tachiyomi/extension/all/myreadingmanga/MyReadingManga.kt b/src/all/myreadingmanga/src/eu/kanade/tachiyomi/extension/all/myreadingmanga/MyReadingManga.kt index 03cc2be0d..e520357a1 100644 --- a/src/all/myreadingmanga/src/eu/kanade/tachiyomi/extension/all/myreadingmanga/MyReadingManga.kt +++ b/src/all/myreadingmanga/src/eu/kanade/tachiyomi/extension/all/myreadingmanga/MyReadingManga.kt @@ -41,10 +41,7 @@ open class MyReadingManga(override val lang: String, private val siteLang: Strin } override fun popularMangaParse(response: Response): MangasPage { - if (!filtersCached) { - cachedPagesUrls.onEach { filterAssist(it.value) } - filtersCached = true - } + cacheAssistant() return searchMangaParse(response) } override fun popularMangaNextPageSelector() = throw Exception("Not used") @@ -60,6 +57,10 @@ open class MyReadingManga(override val lang: String, private val siteLang: Strin override fun latestUpdatesNextPageSelector() = "li.pagination-next" override fun latestUpdatesSelector() = "article" override fun latestUpdatesFromElement(element: Element) = buildManga(element.select("a[rel]").first(), element.select("a.entry-image-link img").first()) + override fun latestUpdatesParse(response: Response): MangasPage { + cacheAssistant() + return super.latestUpdatesParse(response) + } // Search override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { @@ -74,7 +75,7 @@ open class MyReadingManga(override val lang: String, private val siteLang: Strin filter.addToUri(uri, "wpsolr_fq[${i - indexModifier}]") } if (filter is SearchSortTypeList) { - uri.appendQueryParameter("wpsolr_sort", listOf("sort_by_random", "sort_by_date_desc", "sort_by_date_asc", "sort_by_relevancy_desc")[filter.state]) + uri.appendQueryParameter("wpsolr_sort", listOf("sort_by_date_desc", "sort_by_date_asc", "sort_by_random", "sort_by_relevancy_desc")[filter.state]) } } uri.appendQueryParameter("wpsolr_page", page.toString()) @@ -233,6 +234,13 @@ open class MyReadingManga(override val lang: String, private val siteLang: Strin return response.body!!.string() } + private fun cacheAssistant() { + if (!filtersCached) { + cachedPagesUrls.onEach { filterAssist(it.value) } + filtersCached = true + } + } + // Returns page from cache to reduce calls to website private fun getCache(url: String): Document? { val response = client.newCall(GET(url, headers, CacheControl.FORCE_CACHE)).execute() @@ -285,7 +293,7 @@ open class MyReadingManga(override val lang: String, private val siteLang: Strin private class CatFilter(CATID: Array) : UriSelectFilter("Categories", "categories", arrayOf("Any", *CATID)) private class PairingFilter(PAIR: Array) : UriSelectFilter("Pairing", "pairing_str", arrayOf("Any", *PAIR)) private class ScanGroupFilter(GROUP: Array) : UriSelectFilter("Scanlation Group", "group_str", arrayOf("Any", *GROUP)) - private class SearchSortTypeList : Filter.Select("Sort by", arrayOf("Random", "Newest", "Oldest", "More relevant")) + private class SearchSortTypeList : Filter.Select("Sort by", arrayOf("Newest", "Oldest", "Random", "More relevant")) /** * Class that creates a select filter. Each entry in the dropdown has a name and a display name.