From 9be7dd8c9a0bf0a59add33981d73610d081e7c9e Mon Sep 17 00:00:00 2001 From: Mike <51273546+SnakeDoc83@users.noreply.github.com> Date: Sat, 26 Oct 2019 10:43:49 -0400 Subject: [PATCH] FMReader - add Manhwa18.net (#1707) FMReader - add Manhwa18.net --- src/all/fmreader/build.gradle | 2 +- .../extension/all/fmreader/FMReader.kt | 4 ++-- .../extension/all/fmreader/FMReaderFactory.kt | 24 +++++++++++++++++-- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/all/fmreader/build.gradle b/src/all/fmreader/build.gradle index fe7301115..5fe23fd40 100644 --- a/src/all/fmreader/build.gradle +++ b/src/all/fmreader/build.gradle @@ -5,7 +5,7 @@ ext { appName = 'Tachiyomi: FMReader (multiple aggregators)' pkgNameSuffix = 'all.fmreader' extClass = '.FMReaderFactory' - extVersionCode = 1 + extVersionCode = 2 libVersion = '1.2' } diff --git a/src/all/fmreader/src/eu/kanade/tachiyomi/extension/all/fmreader/FMReader.kt b/src/all/fmreader/src/eu/kanade/tachiyomi/extension/all/fmreader/FMReader.kt index bc7f6f131..73dc63516 100644 --- a/src/all/fmreader/src/eu/kanade/tachiyomi/extension/all/fmreader/FMReader.kt +++ b/src/all/fmreader/src/eu/kanade/tachiyomi/extension/all/fmreader/FMReader.kt @@ -69,7 +69,7 @@ abstract class FMReader ( } override fun latestUpdatesRequest(page: Int): Request = - GET("$baseUrl/$requestPath?listType=pagination&page=$page&sort=last_update&sort_type=DESC") + GET("$baseUrl/$requestPath?listType=pagination&page=$page&sort=last_update&sort_type=DESC", headers) // for sources that don't have the "page x of y" element fun defaultMangaParse(response: Response): MangasPage = super.popularMangaParse(response) @@ -236,7 +236,7 @@ abstract class FMReader ( private class TextField(name: String, val key: String) : Filter.Text(name) private class Status : Filter.Select("Status", arrayOf("Any", "Completed", "Ongoing")) - private class GenreList(genres: List) : Filter.Group("Genre", genres) + class GenreList(genres: List) : Filter.Group("Genre", genres) class Genre(name: String, val id: String = name.replace(' ', '+')) : Filter.TriState(name) private class SortBy : Filter.Sort("Sorted By", arrayOf("A-Z", "Most vỉews", "Last updated"), Selection(1, false)) diff --git a/src/all/fmreader/src/eu/kanade/tachiyomi/extension/all/fmreader/FMReaderFactory.kt b/src/all/fmreader/src/eu/kanade/tachiyomi/extension/all/fmreader/FMReaderFactory.kt index 30ba21472..2b29f8ce2 100644 --- a/src/all/fmreader/src/eu/kanade/tachiyomi/extension/all/fmreader/FMReaderFactory.kt +++ b/src/all/fmreader/src/eu/kanade/tachiyomi/extension/all/fmreader/FMReaderFactory.kt @@ -30,7 +30,9 @@ class FMReaderFactory : SourceFactory { TruyenTranhLH(), EighteenLHPlus(), MangaTR(), - Comicastle() + Comicastle(), + Manhwa18Net(), + Manhwa18NetRaw() ) } @@ -235,7 +237,25 @@ class Comicastle : FMReader("Comicastle", "https://www.comicastle.org", "en") { override fun imageUrlParse(document: Document): String = document.select("img.chapter-img").attr("abs:src").trim() override fun getGenreList() = getComicsGenreList() } - +class Manhwa18Net : FMReader("Manhwa18.net", "https://manhwa18.net", "en") { + override fun popularMangaRequest(page: Int): Request = + GET("$baseUrl/$requestPath?listType=pagination&page=$page&sort=views&sort_type=DESC&ungenre=raw", headers) + override fun latestUpdatesRequest(page: Int): Request = + GET("$baseUrl/$requestPath?listType=pagination&page=$page&sort=last_update&sort_type=DESC&ungenre=raw", headers) + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + val noRawsUrl = super.searchMangaRequest(page, query, filters).url().newBuilder().addQueryParameter("ungenre", "raw").toString() + return GET(noRawsUrl, headers) + } + override fun getGenreList() = getAdultGenreList() +} +class Manhwa18NetRaw : FMReader("Manhwa18.net Raw", "https://manhwa18.net", "ko") { + override val requestPath = "manga-list-genre-raw.html" + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + val onlyRawsUrl = super.searchMangaRequest(page, query, filters).url().newBuilder().addQueryParameter("genre", "raw").toString() + return GET(onlyRawsUrl, headers) + } + override fun getFilterList() = FilterList(super.getFilterList().filterNot { it == GenreList(getGenreList()) }) +}