FMReader - add Manhwa18.net (#1707)

FMReader - add Manhwa18.net
This commit is contained in:
Mike 2019-10-26 10:43:49 -04:00 committed by arkon
parent 5b86fbc9d0
commit 9be7dd8c9a
3 changed files with 25 additions and 5 deletions

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: FMReader (multiple aggregators)' appName = 'Tachiyomi: FMReader (multiple aggregators)'
pkgNameSuffix = 'all.fmreader' pkgNameSuffix = 'all.fmreader'
extClass = '.FMReaderFactory' extClass = '.FMReaderFactory'
extVersionCode = 1 extVersionCode = 2
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -69,7 +69,7 @@ abstract class FMReader (
} }
override fun latestUpdatesRequest(page: Int): Request = 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 // for sources that don't have the "page x of y" element
fun defaultMangaParse(response: Response): MangasPage = super.popularMangaParse(response) 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 TextField(name: String, val key: String) : Filter.Text(name)
private class Status : Filter.Select<String>("Status", arrayOf("Any", "Completed", "Ongoing")) private class Status : Filter.Select<String>("Status", arrayOf("Any", "Completed", "Ongoing"))
private class GenreList(genres: List<Genre>) : Filter.Group<Genre>("Genre", genres) class GenreList(genres: List<Genre>) : Filter.Group<Genre>("Genre", genres)
class Genre(name: String, val id: String = name.replace(' ', '+')) : Filter.TriState(name) 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)) private class SortBy : Filter.Sort("Sorted By", arrayOf("A-Z", "Most vỉews", "Last updated"), Selection(1, false))

View File

@ -30,7 +30,9 @@ class FMReaderFactory : SourceFactory {
TruyenTranhLH(), TruyenTranhLH(),
EighteenLHPlus(), EighteenLHPlus(),
MangaTR(), 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 imageUrlParse(document: Document): String = document.select("img.chapter-img").attr("abs:src").trim()
override fun getGenreList() = getComicsGenreList() 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()) })
}