Bump dependencies (#15312)
This commit is contained in:
parent
1128b1fcd8
commit
1397c5b1b4
|
@ -1,10 +1,10 @@
|
||||||
[versions]
|
[versions]
|
||||||
kotlin_version = "1.6.21"
|
kotlin_version = "1.7.21"
|
||||||
coroutines_version = "1.6.0"
|
coroutines_version = "1.6.4"
|
||||||
serialization_version = "1.3.2"
|
serialization_version = "1.4.0"
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
gradle-agp = { module = "com.android.tools.build:gradle", version = "7.3.0" }
|
gradle-agp = { module = "com.android.tools.build:gradle", version = "7.4.1" }
|
||||||
gradle-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin_version" }
|
gradle-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin_version" }
|
||||||
gradle-serialization = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kotlin_version" }
|
gradle-serialization = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kotlin_version" }
|
||||||
gradle-kotlinter = { module = "org.jmailen.gradle:kotlinter-gradle", version = "3.6.0" }
|
gradle-kotlinter = { module = "org.jmailen.gradle:kotlinter-gradle", version = "3.6.0" }
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|
|
@ -57,7 +57,7 @@ class AllHentai : GroupLe("AllHentai", "http://allhen.online", "ru") {
|
||||||
return GET(tagUrl.toString(), headers)
|
return GET(tagUrl.toString(), headers)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else -> return@forEach
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return if (url.toString().contains("&"))
|
return if (url.toString().contains("&"))
|
||||||
|
|
|
@ -49,7 +49,7 @@ class MintManga : GroupLe("MintManga", "https://mintmanga.live", "ru") {
|
||||||
return GET(ordUrl.toString(), headers)
|
return GET(ordUrl.toString(), headers)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else -> return@forEach
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return if (url.toString().contains("&"))
|
return if (url.toString().contains("&"))
|
||||||
|
|
|
@ -49,7 +49,7 @@ class ReadManga : GroupLe("ReadManga", "https://readmanga.live", "ru") {
|
||||||
return GET(ordUrl.toString(), headers)
|
return GET(ordUrl.toString(), headers)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else -> return@forEach
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return if (url.toString().contains("&"))
|
return if (url.toString().contains("&"))
|
||||||
|
|
|
@ -43,6 +43,7 @@ class HentaiLib : LibGroup("HentaiLib", "https://hentailib.me", "ru") {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return POST(url.toString(), catalogHeaders())
|
return POST(url.toString(), catalogHeaders())
|
||||||
|
|
|
@ -67,6 +67,7 @@ class MangaLib : LibGroup("MangaLib", "https://mangalib.me", "ru") {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return POST(url.toString(), catalogHeaders())
|
return POST(url.toString(), catalogHeaders())
|
||||||
|
|
|
@ -49,6 +49,7 @@ class YaoiLib : LibGroup("YaoiLib", "https://v1.yaoilib.net", "ru") {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return POST(url.toString(), catalogHeaders())
|
return POST(url.toString(), catalogHeaders())
|
||||||
|
|
|
@ -49,6 +49,7 @@ class DoujinHentai : Madara(
|
||||||
url.addQueryParameter("page", page.toString())
|
url.addQueryParameter("page", page.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,6 +66,7 @@ class PojokManga : Madara("Pojok Manga", "https://pojokmanga.net", "id", SimpleD
|
||||||
url = "$baseUrl/project/page/$page".toHttpUrlOrNull()!!.newBuilder()
|
url = "$baseUrl/project/page/$page".toHttpUrlOrNull()!!.newBuilder()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -34,6 +34,7 @@ class YaoiChan : MultiChan("YaoiChan", "https://yaoi-chan.me", "ru") {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is Status -> status = arrayOf("", "all_done", "end", "ongoing", "new_ch")[filter.state]
|
is Status -> status = arrayOf("", "all_done", "end", "ongoing", "new_ch")[filter.state]
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,6 +48,7 @@ class YaoiChan : MultiChan("YaoiChan", "https://yaoi-chan.me", "ru") {
|
||||||
arrayOf("&n=dateasc", "&n=favdesc", "&n=abcasc", "&n=chdesc")[filter.state!!.index]
|
arrayOf("&n=dateasc", "&n=favdesc", "&n=abcasc", "&n=chdesc")[filter.state!!.index]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (statusParam) {
|
if (statusParam) {
|
||||||
|
@ -64,6 +66,7 @@ class YaoiChan : MultiChan("YaoiChan", "https://yaoi-chan.me", "ru") {
|
||||||
arrayOf("manga/new&n=dateasc", "mostfavorites", "catalog", "sortch")[filter.state!!.index]
|
arrayOf("manga/new&n=dateasc", "mostfavorites", "catalog", "sortch")[filter.state!!.index]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (statusParam) {
|
if (statusParam) {
|
||||||
|
|
|
@ -54,6 +54,7 @@ class Komikita : ZManga(
|
||||||
"$baseUrl$projectPageString/page/$page".toHttpUrlOrNull()!!.newBuilder()
|
"$baseUrl$projectPageString/page/$page".toHttpUrlOrNull()!!.newBuilder()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -42,6 +42,7 @@ class KomikPlay : ZManga("KomikPlay", "https://komikplay.com", "id", SimpleDateF
|
||||||
url = "$baseUrl$projectPageString/page/$page".toHttpUrlOrNull()!!.newBuilder()
|
url = "$baseUrl$projectPageString/page/$page".toHttpUrlOrNull()!!.newBuilder()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -68,6 +68,7 @@ class SekteKomik : ZManga("Sekte Komik", "https://sektekomik.com", "id") {
|
||||||
url = "$baseUrl$projectPageString/${pagePathSegment(page)}".toHttpUrlOrNull()!!.newBuilder()
|
url = "$baseUrl$projectPageString/${pagePathSegment(page)}".toHttpUrlOrNull()!!.newBuilder()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -93,6 +93,7 @@ abstract class FMReader(
|
||||||
if (filter.state?.ascending == true)
|
if (filter.state?.ascending == true)
|
||||||
url.addQueryParameter("sort_type", "ASC")
|
url.addQueryParameter("sort_type", "ASC")
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -559,6 +559,7 @@ abstract class LibGroup(
|
||||||
url.addQueryParameter(if (favorite.isIncluded()) "bookmarks[include][]" else "bookmarks[exclude][]", favorite.id)
|
url.addQueryParameter(if (favorite.isIncluded()) "bookmarks[include][]" else "bookmarks[exclude][]", favorite.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return POST(url.toString(), catalogHeaders())
|
return POST(url.toString(), catalogHeaders())
|
||||||
|
|
|
@ -96,6 +96,7 @@ abstract class MangaBox(
|
||||||
filter.state.forEach { if (it.isIncluded()) genreInclude += "_${it.id}" }
|
filter.state.forEach { if (it.isIncluded()) genreInclude += "_${it.id}" }
|
||||||
filter.state.forEach { if (it.isExcluded()) genreExclude += "_${it.id}" }
|
filter.state.forEach { if (it.isExcluded()) genreExclude += "_${it.id}" }
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
url.addQueryParameter("g_i", genreInclude)
|
url.addQueryParameter("g_i", genreInclude)
|
||||||
|
@ -108,6 +109,7 @@ abstract class MangaBox(
|
||||||
is SortFilter -> url.addQueryParameter("type", filter.toUriPart())
|
is SortFilter -> url.addQueryParameter("type", filter.toUriPart())
|
||||||
is StatusFilter -> url.addQueryParameter("state", filter.toUriPart())
|
is StatusFilter -> url.addQueryParameter("state", filter.toUriPart())
|
||||||
is GenreFilter -> url.addQueryParameter("category", filter.toUriPart())
|
is GenreFilter -> url.addQueryParameter("category", filter.toUriPart())
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,6 +97,7 @@ abstract class MangaWorld(
|
||||||
}
|
}
|
||||||
is SortBy -> url.addQueryParameter("sort", filter.toUriPart())
|
is SortBy -> url.addQueryParameter("sort", filter.toUriPart())
|
||||||
is TextField -> url.addQueryParameter(filter.key, filter.state)
|
is TextField -> url.addQueryParameter(filter.key, filter.state)
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -72,6 +72,7 @@ abstract class Paprika(
|
||||||
when (filter) {
|
when (filter) {
|
||||||
is GenreFilter -> url.addPathSegment(filter.toUriPart())
|
is GenreFilter -> url.addPathSegment(filter.toUriPart())
|
||||||
is OrderFilter -> url.addQueryParameter("orderby", filter.toUriPart())
|
is OrderFilter -> url.addQueryParameter("orderby", filter.toUriPart())
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
url.addQueryParameter("page", page.toString())
|
url.addQueryParameter("page", page.toString())
|
||||||
|
|
|
@ -41,6 +41,7 @@ abstract class PaprikaAlt(
|
||||||
when (filter) {
|
when (filter) {
|
||||||
is GenreFilter -> url.addPathSegment(filter.toUriPart())
|
is GenreFilter -> url.addPathSegment(filter.toUriPart())
|
||||||
is OrderFilter -> url.addQueryParameter("orderby", filter.toUriPart())
|
is OrderFilter -> url.addQueryParameter("orderby", filter.toUriPart())
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
url.addQueryParameter("page", page.toString())
|
url.addQueryParameter("page", page.toString())
|
||||||
|
|
|
@ -84,6 +84,7 @@ abstract class WPComics(
|
||||||
when (filter) {
|
when (filter) {
|
||||||
is GenreFilter -> filter.toUriPart()?.let { url.addPathSegment(it) }
|
is GenreFilter -> filter.toUriPart()?.let { url.addPathSegment(it) }
|
||||||
is StatusFilter -> filter.toUriPart()?.let { url.addQueryParameter("status", it) }
|
is StatusFilter -> filter.toUriPart()?.let { url.addQueryParameter("status", it) }
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -93,6 +93,7 @@ abstract class ZManga(
|
||||||
url = "$baseUrl$projectPageString/page/$page".toHttpUrlOrNull()!!.newBuilder()
|
url = "$baseUrl$projectPageString/page/$page".toHttpUrlOrNull()!!.newBuilder()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -166,11 +166,11 @@ abstract class EHentai(
|
||||||
.joinToString(",")
|
.joinToString(",")
|
||||||
.let { if (it.isNotEmpty()) ",$it" else it }
|
.let { if (it.isNotEmpty()) ",$it" else it }
|
||||||
uri.appendQueryParameter("f_search", modifiedQuery)
|
uri.appendQueryParameter("f_search", modifiedQuery)
|
||||||
//when attempting to search with no genres selected, will auto select all genres
|
// when attempting to search with no genres selected, will auto select all genres
|
||||||
filters.filterIsInstance<GenreGroup>().firstOrNull()?.state?.let {
|
filters.filterIsInstance<GenreGroup>().firstOrNull()?.state?.let {
|
||||||
//variable to to check is any genres are selected
|
// variable to to check is any genres are selected
|
||||||
val check = it.any { option -> option.state } // or it.any(GenreOption::state)
|
val check = it.any { option -> option.state } // or it.any(GenreOption::state)
|
||||||
//if no genres are selected by the user set all genres to on
|
// if no genres are selected by the user set all genres to on
|
||||||
if (!check) {
|
if (!check) {
|
||||||
for (i in it) {
|
for (i in it) {
|
||||||
(i as GenreOption).state = true
|
(i as GenreOption).state = true
|
||||||
|
|
|
@ -123,13 +123,15 @@ class EveriaClub() : ParsedHttpSource() {
|
||||||
)
|
)
|
||||||
|
|
||||||
open class UriPartFilter(
|
open class UriPartFilter(
|
||||||
displayName: String, private val valuePair: Array<Pair<String, String>>
|
displayName: String,
|
||||||
|
private val valuePair: Array<Pair<String, String>>
|
||||||
) : Filter.Select<String>(displayName, valuePair.map { it.first }.toTypedArray()) {
|
) : Filter.Select<String>(displayName, valuePair.map { it.first }.toTypedArray()) {
|
||||||
fun toUriPart() = valuePair[state].second
|
fun toUriPart() = valuePair[state].second
|
||||||
}
|
}
|
||||||
|
|
||||||
class CategoryFilter : UriPartFilter(
|
class CategoryFilter : UriPartFilter(
|
||||||
"Category", arrayOf(
|
"Category",
|
||||||
|
arrayOf(
|
||||||
Pair("Any", ""),
|
Pair("Any", ""),
|
||||||
Pair("Gravure", "/gravure"),
|
Pair("Gravure", "/gravure"),
|
||||||
Pair("Aidol", "/aidol"),
|
Pair("Aidol", "/aidol"),
|
||||||
|
|
|
@ -944,6 +944,7 @@ class Kavita(private val suffix: String = "") : ConfigurableSource, UnmeteredSou
|
||||||
entryValues = KavitaConstants.filterPrefEntriesValue
|
entryValues = KavitaConstants.filterPrefEntriesValue
|
||||||
setDefaultValue(KavitaConstants.defaultFilterPrefEntries)
|
setDefaultValue(KavitaConstants.defaultFilterPrefEntries)
|
||||||
setOnPreferenceChangeListener { _, newValue ->
|
setOnPreferenceChangeListener { _, newValue ->
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
val checkValue = newValue as Set<String>
|
val checkValue = newValue as Set<String>
|
||||||
preferences.edit()
|
preferences.edit()
|
||||||
.putStringSet(KavitaConstants.toggledFiltersPref, checkValue)
|
.putStringSet(KavitaConstants.toggledFiltersPref, checkValue)
|
||||||
|
|
|
@ -170,6 +170,7 @@ open class Komga(private val suffix: String = "") : ConfigurableSource, Unmetere
|
||||||
url.addQueryParameter("sort", sortCriteria)
|
url.addQueryParameter("sort", sortCriteria)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -183,7 +183,7 @@ open class LANraragi(private val suffix: String = "") : ConfigurableSource, Unme
|
||||||
is DescendingOrder -> if (filter.state) uri.appendQueryParameter("order", "desc")
|
is DescendingOrder -> if (filter.state) uri.appendQueryParameter("order", "desc")
|
||||||
is SortByNamespace -> if (filter.state.isNotEmpty()) uri.appendQueryParameter("sortby", filter.state.trim())
|
is SortByNamespace -> if (filter.state.isNotEmpty()) uri.appendQueryParameter("sortby", filter.state.trim())
|
||||||
is CategorySelect -> if (filter.state > 0) uri.appendQueryParameter("category", filter.toUriPart())
|
is CategorySelect -> if (filter.state > 0) uri.appendQueryParameter("category", filter.toUriPart())
|
||||||
else -> Unit
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -73,6 +73,7 @@ class MangaParkFilters {
|
||||||
includedGenre += filter.state.filter { it.isIncluded() }.map { it.value }
|
includedGenre += filter.state.filter { it.isIncluded() }.map { it.value }
|
||||||
excludedGenre += filter.state.filter { it.isExcluded() }.map { it.value }
|
excludedGenre += filter.state.filter { it.isExcluded() }.map { it.value }
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,7 @@ open class MangaReader(
|
||||||
is GenresFilter -> {
|
is GenresFilter -> {
|
||||||
addQueryParameter(filter.param, filter.selection)
|
addQueryParameter(filter.param, filter.selection)
|
||||||
}
|
}
|
||||||
else -> Unit
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,6 +145,7 @@ open class NineManga(
|
||||||
url.addQueryParameter("out_category_id", genreExclude)
|
url.addQueryParameter("out_category_id", genreExclude)
|
||||||
}
|
}
|
||||||
is CompletedFilter -> url.addQueryParameter("completed_series", filter.toUriPart())
|
is CompletedFilter -> url.addQueryParameter("completed_series", filter.toUriPart())
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -109,7 +109,7 @@ open class SimplyHentai(override val lang: String) : ConfigurableSource, HttpSou
|
||||||
is CharactersFilter -> filter.value?.forEachIndexed { idx, tag ->
|
is CharactersFilter -> filter.value?.forEachIndexed { idx, tag ->
|
||||||
appendQueryParameter("filter[characters][$idx]", tag.trim())
|
appendQueryParameter("filter[characters][$idx]", tag.trim())
|
||||||
}
|
}
|
||||||
else -> Unit
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GET(build().toString(), headers)
|
GET(build().toString(), headers)
|
||||||
|
|
|
@ -55,7 +55,7 @@ class YaoiMangaOnline : ParsedHttpSource() {
|
||||||
is TagFilter -> if (it.state != 0) {
|
is TagFilter -> if (it.state != 0) {
|
||||||
addEncodedPathSegments("tag/$it")
|
addEncodedPathSegments("tag/$it")
|
||||||
}
|
}
|
||||||
else -> Unit
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
addEncodedPathSegments("page/$page")
|
addEncodedPathSegments("page/$page")
|
||||||
|
|
|
@ -79,6 +79,7 @@ class AsgardTeam : ParsedHttpSource() {
|
||||||
filters.forEach { filter ->
|
filters.forEach { filter ->
|
||||||
when (filter) {
|
when (filter) {
|
||||||
is TypeFilter -> url.addQueryParameter("type", filter.toUriPart())
|
is TypeFilter -> url.addQueryParameter("type", filter.toUriPart())
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GET(url.build().toString(), headers)
|
GET(url.build().toString(), headers)
|
||||||
|
|
|
@ -85,6 +85,7 @@ class MangaAe : ParsedHttpSource() {
|
||||||
url += "|order:${filter.toUriPart()}"
|
url += "|order:${filter.toUriPart()}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
url += "|arrange:minus"
|
url += "|arrange:minus"
|
||||||
|
|
|
@ -46,6 +46,7 @@ class ComicExtra : ParsedHttpSource() {
|
||||||
filters.forEach { filter ->
|
filters.forEach { filter ->
|
||||||
when (filter) {
|
when (filter) {
|
||||||
is GenreFilter -> url += "/${filter.toUriPart()}"
|
is GenreFilter -> url += "/${filter.toUriPart()}"
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GET(url + if (page > 1) "/$page" else "", headers)
|
GET(url + if (page > 1) "/$page" else "", headers)
|
||||||
|
|
|
@ -112,6 +112,7 @@ class Hentai2Read : ParsedHttpSource() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is SortOrder -> sortOrder = filter.toUriPart()
|
is SortOrder -> sortOrder = filter.toUriPart()
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,6 +77,7 @@ class HentaiFox : ParsedHttpSource() {
|
||||||
is GenreFilter -> {
|
is GenreFilter -> {
|
||||||
url += "${filter.toUriPart()}/pag/$page/"
|
url += "${filter.toUriPart()}/pag/$page/"
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GET(url, headers)
|
GET(url, headers)
|
||||||
|
|
|
@ -93,6 +93,7 @@ class Mangafreak : ParsedHttpSource() {
|
||||||
}
|
}
|
||||||
is StatusFilter -> url.addPathSegments("Status/${filter.toUriPart()}")
|
is StatusFilter -> url.addPathSegments("Status/${filter.toUriPart()}")
|
||||||
is TypeFilter -> url.addPathSegments("Type/${filter.toUriPart()}")
|
is TypeFilter -> url.addPathSegments("Type/${filter.toUriPart()}")
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -125,6 +125,7 @@ class Mangahere : ParsedHttpSource() {
|
||||||
url.addEncodedQueryParameter("released_method", "eq")
|
url.addEncodedQueryParameter("released_method", "eq")
|
||||||
url.addEncodedQueryParameter("released", filter.state)
|
url.addEncodedQueryParameter("released", filter.state)
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,6 +79,7 @@ class MangaJar : ParsedHttpSource() {
|
||||||
is SortBy -> {
|
is SortBy -> {
|
||||||
url.addQueryParameter("sortAscending", filter.toUriPart())
|
url.addQueryParameter("sortAscending", filter.toUriPart())
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -122,6 +122,7 @@ class MangaKatana : ConfigurableSource, ParsedHttpSource() {
|
||||||
else -> url.addQueryParameter("chapters", filter.state.trim())
|
else -> url.addQueryParameter("chapters", filter.state.trim())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -103,7 +103,6 @@ class MangaPill : ParsedHttpSource() {
|
||||||
filters.forEach { filter ->
|
filters.forEach { filter ->
|
||||||
when (filter) {
|
when (filter) {
|
||||||
is GenreList -> {
|
is GenreList -> {
|
||||||
|
|
||||||
val genreInclude = mutableListOf<String>()
|
val genreInclude = mutableListOf<String>()
|
||||||
filter.state.forEach {
|
filter.state.forEach {
|
||||||
if (it.state == 1) {
|
if (it.state == 1) {
|
||||||
|
@ -118,6 +117,7 @@ class MangaPill : ParsedHttpSource() {
|
||||||
}
|
}
|
||||||
is Status -> url.addQueryParameter("status", filter.toUriPart())
|
is Status -> url.addQueryParameter("status", filter.toUriPart())
|
||||||
is Type -> url.addQueryParameter("type", filter.toUriPart())
|
is Type -> url.addQueryParameter("type", filter.toUriPart())
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -166,6 +166,7 @@ class MangaRawClub : ParsedHttpSource() {
|
||||||
requestBody.add("options[]", it.name)
|
requestBody.add("options[]", it.name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -66,6 +66,7 @@ class MyHentaiComics : ParsedHttpSource() {
|
||||||
for (filter in if (filters.isEmpty()) getFilterList() else filters) {
|
for (filter in if (filters.isEmpty()) getFilterList() else filters) {
|
||||||
when (filter) {
|
when (filter) {
|
||||||
is GenreFilter -> url += filter.toUriPart() + "?page=$page"
|
is GenreFilter -> url += filter.toUriPart() + "?page=$page"
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GET(url, headers)
|
GET(url, headers)
|
||||||
|
|
|
@ -89,6 +89,7 @@ class MyHentaiGallery : ParsedHttpSource() {
|
||||||
is GenreFilter -> {
|
is GenreFilter -> {
|
||||||
url.addPathSegment(filter.toUriPart())
|
url.addPathSegment(filter.toUriPart())
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
url.addPathSegment("$page")
|
url.addPathSegment("$page")
|
||||||
|
|
|
@ -78,6 +78,7 @@ class NineAnime : ParsedHttpSource() {
|
||||||
for (filter in if (filters.isEmpty()) getFilterList() else filters) {
|
for (filter in if (filters.isEmpty()) getFilterList() else filters) {
|
||||||
when (filter) {
|
when (filter) {
|
||||||
is GenreFilter -> url += filter.toUriPart() + "_$page.html"
|
is GenreFilter -> url += filter.toUriPart() + "_$page.html"
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GET(url, headers)
|
GET(url, headers)
|
||||||
|
|
|
@ -65,6 +65,7 @@ open class RainOfSnow() : ParsedHttpSource() {
|
||||||
url.addQueryParameter("n_orderby", filter.toUriPart())
|
url.addQueryParameter("n_orderby", filter.toUriPart())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.build().toString(), headers)
|
return GET(url.build().toString(), headers)
|
||||||
|
|
|
@ -92,6 +92,7 @@ class Readmangatoday : ParsedHttpSource() {
|
||||||
Filter.TriState.STATE_EXCLUDE -> builder.add("exclude[]", genre.id.toString())
|
Filter.TriState.STATE_EXCLUDE -> builder.add("exclude[]", genre.id.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return POST("$baseUrl/advanced-search", headers, builder.build())
|
return POST("$baseUrl/advanced-search", headers, builder.build())
|
||||||
|
|
|
@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.extension.en.tapastic
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
import android.net.Uri
|
|
||||||
import android.webkit.CookieManager
|
import android.webkit.CookieManager
|
||||||
import androidx.preference.PreferenceScreen
|
import androidx.preference.PreferenceScreen
|
||||||
import androidx.preference.SwitchPreferenceCompat
|
import androidx.preference.SwitchPreferenceCompat
|
||||||
|
|
|
@ -88,6 +88,7 @@ class Webcomics : ParsedHttpSource() {
|
||||||
val genre = getGenreList()[filter.state]
|
val genre = getGenreList()[filter.state]
|
||||||
url?.addQueryParameter("category", genre)
|
url?.addQueryParameter("category", genre)
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -81,6 +81,7 @@ class HeavenManga : ParsedHttpSource() {
|
||||||
return GET("$baseUrl/$name$pageParameter", headers)
|
return GET("$baseUrl/$name$pageParameter", headers)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,6 +99,7 @@ class Ikuhentai : ParsedHttpSource() {
|
||||||
url.addQueryParameter("m_orderby", orderBy)
|
url.addQueryParameter("m_orderby", orderBy)
|
||||||
}
|
}
|
||||||
is TextField -> url.addQueryParameter(filter.key, filter.state)
|
is TextField -> url.addQueryParameter(filter.key, filter.state)
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -210,6 +210,7 @@ class Kumanga : HttpSource() {
|
||||||
.filter { genre -> genre.state }
|
.filter { genre -> genre.state }
|
||||||
.forEach { genre -> url.addQueryParameter("category_filter[]", genre.id) }
|
.forEach { genre -> url.addQueryParameter("category_filter[]", genre.id) }
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -166,6 +166,7 @@ class LectorManga : ConfigurableSource, ParsedHttpSource() {
|
||||||
.filter { genre -> genre.state }
|
.filter { genre -> genre.state }
|
||||||
.forEach { genre -> url.addQueryParameter("genders[]", genre.id) }
|
.forEach { genre -> url.addQueryParameter("genders[]", genre.id) }
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -126,6 +126,7 @@ open class MangaOni : ConfigurableSource, ParsedHttpSource() {
|
||||||
"genero",
|
"genero",
|
||||||
genresArray[filter.state].second
|
genresArray[filter.state].second
|
||||||
)
|
)
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
uri.appendQueryParameter("p", page.toString())
|
uri.appendQueryParameter("p", page.toString())
|
||||||
|
|
|
@ -148,6 +148,7 @@ class TMOHentai : ConfigurableSource, ParsedHttpSource() {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -148,6 +148,7 @@ class TuMangaOnline : ConfigurableSource, ParsedHttpSource() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.build().toString(), headers)
|
return GET(url.build().toString(), headers)
|
||||||
|
|
|
@ -80,8 +80,7 @@ open class VCPVMP(override val name: String, override val baseUrl: String) : Par
|
||||||
filters.forEach { filter ->
|
filters.forEach { filter ->
|
||||||
when (filter) {
|
when (filter) {
|
||||||
is Genre -> {
|
is Genre -> {
|
||||||
when (filter.toUriPart().isNotEmpty()) {
|
if (filter.toUriPart().isNotEmpty()) {
|
||||||
true -> {
|
|
||||||
url = baseUrl.toHttpUrlOrNull()!!.newBuilder()
|
url = baseUrl.toHttpUrlOrNull()!!.newBuilder()
|
||||||
|
|
||||||
url.addPathSegments(if (isOnVCP) "tags" else "genero")
|
url.addPathSegments(if (isOnVCP) "tags" else "genero")
|
||||||
|
@ -91,14 +90,12 @@ open class VCPVMP(override val name: String, override val baseUrl: String) : Par
|
||||||
url.addPathSegments(page.toString())
|
url.addPathSegments(page.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
is Category -> {
|
is Category -> {
|
||||||
when (filter.toUriPart().isNotEmpty()) {
|
if (filter.toUriPart().isNotEmpty()) {
|
||||||
true -> {
|
|
||||||
url.addQueryParameter("cat", filter.toUriPart())
|
url.addQueryParameter("cat", filter.toUriPart())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -91,6 +91,7 @@ class BacaKomik : ParsedHttpSource() {
|
||||||
.filter { it.state != Filter.TriState.STATE_IGNORE }
|
.filter { it.state != Filter.TriState.STATE_IGNORE }
|
||||||
.forEach { url.addQueryParameter("genre[]", it.id) }
|
.forEach { url.addQueryParameter("genre[]", it.id) }
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.build().toString(), headers)
|
return GET(url.build().toString(), headers)
|
||||||
|
|
|
@ -325,6 +325,7 @@ class DoujinDesu : ParsedHttpSource() {
|
||||||
val status = filter.values[filter.state]
|
val status = filter.values[filter.state]
|
||||||
url.addQueryParameter("statusx", status.key)
|
url.addQueryParameter("statusx", status.key)
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -117,6 +117,7 @@ class KomikIndoID : ParsedHttpSource() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -110,6 +110,7 @@ class Komiku : ParsedHttpSource() {
|
||||||
url = ("$baseUrl/pustaka" + if (page > 1) "/page/$page/" else "" + "?tipe=projek").toHttpUrlOrNull()!!.newBuilder()
|
url = ("$baseUrl/pustaka" + if (page > 1) "/page/$page/" else "" + "?tipe=projek").toHttpUrlOrNull()!!.newBuilder()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -61,6 +61,7 @@ class AnimeGDRClub : ParsedHttpSource() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,6 +70,7 @@ class DemoneCeleste : ParsedHttpSource() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET("$url#$status", headers)
|
return GET("$url#$status", headers)
|
||||||
|
|
|
@ -80,6 +80,7 @@ class HentaiFantasy : ParsedHttpSource() {
|
||||||
it.id.toString()
|
it.id.toString()
|
||||||
}
|
}
|
||||||
.forEach { tags.add(it) }
|
.forEach { tags.add(it) }
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,7 @@ class ShingekiNoShoujo : ParsedHttpSource() {
|
||||||
}.map { it.id }[0]}/page/$page"
|
}.map { it.id }[0]}/page/$page"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(baseUrl, headers)
|
return GET(baseUrl, headers)
|
||||||
|
|
|
@ -143,6 +143,7 @@ class Rawdevart : ParsedHttpSource() {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -77,6 +77,7 @@ class SenManga : ParsedHttpSource() {
|
||||||
url.addQueryParameter("nogenre", genreExclude)
|
url.addQueryParameter("nogenre", genreExclude)
|
||||||
}
|
}
|
||||||
is SortFilter -> url.addQueryParameter("sort", filter.toUriPart())
|
is SortFilter -> url.addQueryParameter("sort", filter.toUriPart())
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -29,7 +29,6 @@ import okhttp3.OkHttpClient
|
||||||
import okhttp3.Request
|
import okhttp3.Request
|
||||||
import okhttp3.RequestBody.Companion.toRequestBody
|
import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
import rx.Observable
|
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
|
|
|
@ -21,7 +21,6 @@ import okhttp3.OkHttpClient
|
||||||
import okhttp3.Request
|
import okhttp3.Request
|
||||||
import okhttp3.RequestBody.Companion.toRequestBody
|
import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
import rx.Observable
|
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
import java.text.Normalizer
|
import java.text.Normalizer
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
|
@ -83,6 +83,7 @@ class AComics : ParsedHttpSource() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"$baseUrl/comics?categories=${categories.joinToString(",")}&${rating.joinToString { "ratings[]=$it" }}&type=0&updatable=$status&subscribe=0&issue_count=2&sort=subscr_count&skip=${10 * (page - 1)}"
|
"$baseUrl/comics?categories=${categories.joinToString(",")}&${rating.joinToString { "ratings[]=$it" }}&type=0&updatable=$status&subscribe=0&issue_count=2&sort=subscr_count&skip=${10 * (page - 1)}"
|
||||||
|
|
|
@ -203,6 +203,7 @@ class ComX : ParsedHttpSource() {
|
||||||
sectionPub += publisher.id
|
sectionPub += publisher.id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val pageParameter = if (page > 1) "page/$page/" else ""
|
val pageParameter = if (page > 1) "page/$page/" else ""
|
||||||
|
|
|
@ -146,6 +146,7 @@ class Desu : HttpSource() {
|
||||||
is OrderBy -> url += "&order=" + arrayOf("popular", "updated", "name")[filter.state]
|
is OrderBy -> url += "&order=" + arrayOf("popular", "updated", "name")[filter.state]
|
||||||
is TypeList -> filter.state.forEach { type -> if (type.state) types.add(type) }
|
is TypeList -> filter.state.forEach { type -> if (type.state) types.add(type) }
|
||||||
is GenreList -> filter.state.forEach { genre -> if (genre.state) genres.add(genre) }
|
is GenreList -> filter.state.forEach { genre -> if (genre.state) genres.add(genre) }
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -80,6 +80,7 @@ class MangaBook : ParsedHttpSource() {
|
||||||
url.addQueryParameter("ftype[]", forma.id)
|
url.addQueryParameter("ftype[]", forma.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -80,6 +80,7 @@ class MangaClub : ParsedHttpSource() {
|
||||||
val orderID = arrayOf("date", "editdate", "title", "comm_num", "news_read", "rating")[filter.state!!.index]
|
val orderID = arrayOf("date", "editdate", "title", "comm_num", "news_read", "rating")[filter.state!!.index]
|
||||||
url += "/sort=$orderID/order=$orderState"
|
url += "/sort=$orderID/order=$orderState"
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
url += "/page/$page"
|
url += "/page/$page"
|
||||||
|
|
|
@ -63,6 +63,7 @@ class MangaPoisk : ParsedHttpSource() {
|
||||||
url.addQueryParameter("genres[]", genre.id)
|
url.addQueryParameter("genres[]", genre.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -203,6 +203,7 @@ class Newbie : ConfigurableSource, HttpSource() {
|
||||||
requireChapters = false
|
requireChapters = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -239,6 +239,7 @@ class Remanga : ConfigurableSource, HttpSource() {
|
||||||
return GET(UserProfileUrl.toString(), headers)
|
return GET(UserProfileUrl.toString(), headers)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GET(url.toString(), headers)
|
return GET(url.toString(), headers)
|
||||||
|
|
|
@ -65,7 +65,7 @@ class UniComics : ParsedHttpSource() {
|
||||||
return GET(publisherUrl.toString(), headers)
|
return GET(publisherUrl.toString(), headers)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else -> return@forEach
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (query.isNotEmpty()) {
|
if (query.isNotEmpty()) {
|
||||||
|
|
|
@ -126,6 +126,7 @@ class WebOfComics : ParsedHttpSource() {
|
||||||
publisherCat = getPublishersComics()[filter.state].id
|
publisherCat = getPublishersComics()[filter.state].id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -148,10 +149,12 @@ class WebOfComics : ParsedHttpSource() {
|
||||||
publisherCat = getPublishersManga()[filter.state].id
|
publisherCat = getPublishersManga()[filter.state].id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,7 @@ class YagamiProject : ParsedHttpSource() {
|
||||||
return GET(formaUrl.toString(), headers)
|
return GET(formaUrl.toString(), headers)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return popularMangaRequest(page)
|
return popularMangaRequest(page)
|
||||||
|
|
|
@ -64,7 +64,7 @@ class Mangainua : ParsedHttpSource() {
|
||||||
|
|
||||||
// Search
|
// Search
|
||||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
||||||
if (query.length > 2 ) {
|
if (query.length > 2) {
|
||||||
return POST(
|
return POST(
|
||||||
"$baseUrl/index.php?do=search",
|
"$baseUrl/index.php?do=search",
|
||||||
body = FormBody.Builder()
|
body = FormBody.Builder()
|
||||||
|
|
|
@ -57,7 +57,7 @@ class HentaiVN : ParsedHttpSource() {
|
||||||
|
|
||||||
private val dateFormat = SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH)
|
private val dateFormat = SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH)
|
||||||
|
|
||||||
//latestUpdates
|
// latestUpdates
|
||||||
override fun latestUpdatesRequest(page: Int): Request {
|
override fun latestUpdatesRequest(page: Int): Request {
|
||||||
return GET("$baseUrl/chap-moi.html?page=$page", headers)
|
return GET("$baseUrl/chap-moi.html?page=$page", headers)
|
||||||
}
|
}
|
||||||
|
@ -74,7 +74,7 @@ class HentaiVN : ParsedHttpSource() {
|
||||||
return manga
|
return manga
|
||||||
}
|
}
|
||||||
|
|
||||||
//Popular
|
// Popular
|
||||||
override fun popularMangaRequest(page: Int): Request {
|
override fun popularMangaRequest(page: Int): Request {
|
||||||
return GET("$baseUrl/danh-sach.html?page=$page", headers)
|
return GET("$baseUrl/danh-sach.html?page=$page", headers)
|
||||||
}
|
}
|
||||||
|
@ -83,7 +83,7 @@ class HentaiVN : ParsedHttpSource() {
|
||||||
override fun popularMangaNextPageSelector() = latestUpdatesNextPageSelector()
|
override fun popularMangaNextPageSelector() = latestUpdatesNextPageSelector()
|
||||||
override fun popularMangaSelector() = latestUpdatesSelector()
|
override fun popularMangaSelector() = latestUpdatesSelector()
|
||||||
|
|
||||||
//Chapter
|
// Chapter
|
||||||
override fun chapterListSelector() = "table.listing > tbody > tr"
|
override fun chapterListSelector() = "table.listing > tbody > tr"
|
||||||
override fun chapterFromElement(element: Element): SChapter {
|
override fun chapterFromElement(element: Element): SChapter {
|
||||||
if (element.select("a").isEmpty()) throw Exception(element.select("h2").html())
|
if (element.select("a").isEmpty()) throw Exception(element.select("h2").html())
|
||||||
|
@ -111,7 +111,7 @@ class HentaiVN : ParsedHttpSource() {
|
||||||
|
|
||||||
override fun imageUrlParse(document: Document) = ""
|
override fun imageUrlParse(document: Document) = ""
|
||||||
|
|
||||||
//Detail
|
// Detail
|
||||||
override fun mangaDetailsParse(document: Document): SManga {
|
override fun mangaDetailsParse(document: Document): SManga {
|
||||||
val infoElement = document.select(".main > .page-left > .left-info > .page-info")
|
val infoElement = document.select(".main > .page-left > .left-info > .page-info")
|
||||||
val manga = SManga.create()
|
val manga = SManga.create()
|
||||||
|
@ -133,14 +133,14 @@ class HentaiVN : ParsedHttpSource() {
|
||||||
else -> SManga.UNKNOWN
|
else -> SManga.UNKNOWN
|
||||||
}
|
}
|
||||||
|
|
||||||
//Pages
|
// Pages
|
||||||
override fun pageListParse(document: Document): List<Page> {
|
override fun pageListParse(document: Document): List<Page> {
|
||||||
return document.select("#image > img").mapIndexed { i, e ->
|
return document.select("#image > img").mapIndexed { i, e ->
|
||||||
Page(i, imageUrl = e.attr("abs:src"))
|
Page(i, imageUrl = e.attr("abs:src"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Search
|
// Search
|
||||||
override fun searchMangaParse(response: Response): MangasPage {
|
override fun searchMangaParse(response: Response): MangasPage {
|
||||||
val document = response.asJsoup()
|
val document = response.asJsoup()
|
||||||
if (document.select("p").toString()
|
if (document.select("p").toString()
|
||||||
|
@ -247,7 +247,7 @@ class HentaiVN : ParsedHttpSource() {
|
||||||
val group = getGroupList()[filter.state]
|
val group = getGroupList()[filter.state]
|
||||||
url.addQueryParameter("group", group.id)
|
url.addQueryParameter("group", group.id)
|
||||||
}
|
}
|
||||||
else -> return@forEach
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -160,7 +160,7 @@ class YuriNeko : HttpSource() {
|
||||||
else -> continue
|
else -> continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else -> continue
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return popularMangaRequest(page)
|
return popularMangaRequest(page)
|
||||||
|
|
|
@ -112,6 +112,7 @@ class Kuaikanmanhua : HttpSource() {
|
||||||
is StatusFilter -> {
|
is StatusFilter -> {
|
||||||
status = filter.toUriPart()
|
status = filter.toUriPart()
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GET("$apiUrl/v1/search/by_tag?since=${(page - 1) * 10}&tag=$genre&sort=1&query_category=%7B%22update_status%22:$status%7D")
|
GET("$apiUrl/v1/search/by_tag?since=${(page - 1) * 10}&tag=$genre&sort=1&query_category=%7B%22update_status%22:$status%7D")
|
||||||
|
|
|
@ -172,6 +172,7 @@ class Manhuaren : HttpSource() {
|
||||||
url = url.setQueryParameter("subCategoryId", filter.getId())
|
url = url.setQueryParameter("subCategoryId", filter.getId())
|
||||||
.setQueryParameter("subCategoryType", filter.getType())
|
.setQueryParameter("subCategoryType", filter.getType())
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
url = url.addPathSegments("/v2/manga/getCategoryMangas")
|
url = url.addPathSegments("/v2/manga/getCategoryMangas")
|
||||||
|
|
|
@ -217,6 +217,7 @@ class TencentComics : ParsedHttpSource() {
|
||||||
is VipFilter -> {
|
is VipFilter -> {
|
||||||
vip = filter.toUriPart()
|
vip = filter.toUriPart()
|
||||||
}
|
}
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GET("$desktopUrl/Comic/all/$genre${status}search/$popularity${vip}page/$page")
|
GET("$desktopUrl/Comic/all/$genre${status}search/$popularity${vip}page/$page")
|
||||||
|
|
|
@ -27,7 +27,6 @@ class Zerobyw : ParsedHttpSource(), ConfigurableSource {
|
||||||
private val preferences: SharedPreferences =
|
private val preferences: SharedPreferences =
|
||||||
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
|
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
|
||||||
|
|
||||||
|
|
||||||
// Url can be found at https://cdn.jsdelivr.net/gh/zerozzz123456/1/url.json
|
// Url can be found at https://cdn.jsdelivr.net/gh/zerozzz123456/1/url.json
|
||||||
// or just search for "zerobyw" in google
|
// or just search for "zerobyw" in google
|
||||||
private val defaultBaseUrl = "http://www.zerobywblac.com"
|
private val defaultBaseUrl = "http://www.zerobywblac.com"
|
||||||
|
|
Loading…
Reference in New Issue