parent
5b86fbc9d0
commit
9be7dd8c9a
@ -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'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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))
|
||||||
|
|
||||||
|
@ -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()) })
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user