fix search/tags, add missing languages (#685)
[mangadex] Fix search/tags, add missing languages
This commit is contained in:
parent
4d6ffb24c8
commit
7bf5ecaf4c
@ -5,7 +5,7 @@ ext {
|
||||
appName = 'Tachiyomi: MangaDex'
|
||||
pkgNameSuffix = 'all.mangadex'
|
||||
extClass = '.MangadexFactory'
|
||||
extVersionCode = 43
|
||||
extVersionCode = 44
|
||||
libVersion = '1.2'
|
||||
}
|
||||
|
||||
|
@ -159,15 +159,26 @@ open class Mangadex(override val lang: String, private val internalLang: String,
|
||||
is TextField -> url.addQueryParameter(filter.key, filter.state)
|
||||
is Demographic -> {
|
||||
if (filter.state != 0) {
|
||||
url.addQueryParameter("demo", filter.state.toString())
|
||||
url.addQueryParameter("demo_id", filter.state.toString())
|
||||
}
|
||||
}
|
||||
is PublicationStatus -> {
|
||||
if (filter.state != 0) {
|
||||
url.addQueryParameter("status_id", filter.state.toString())
|
||||
}
|
||||
}
|
||||
is OriginalLanguage -> {
|
||||
if (filter.state != 0) {
|
||||
val number: String = SOURCE_LANG_LIST.first { it -> it.first == filter.values[filter.state] }.second
|
||||
url.addQueryParameter("source_lang", number)
|
||||
url.addQueryParameter("lang_id", number)
|
||||
}
|
||||
}
|
||||
is TagInclusionMode -> {
|
||||
url.addQueryParameter("tag_mode_inc", arrayOf("all", "any")[filter.state])
|
||||
}
|
||||
is TagExclusionMode -> {
|
||||
url.addQueryParameter("tag_mode_exc", arrayOf("all", "any")[filter.state])
|
||||
}
|
||||
is ContentList -> {
|
||||
filter.state.forEach { content ->
|
||||
if (content.isExcluded()) {
|
||||
@ -284,13 +295,8 @@ open class Mangadex(override val lang: String, private val internalLang: String,
|
||||
manga.status = parseStatus(status)
|
||||
}
|
||||
|
||||
val genres = mutableListOf<String>()
|
||||
val genreList = getGenreList()
|
||||
mangaJson.get("genres").asJsonArray.forEach { id ->
|
||||
genreList.find { it -> it.id == id.string }?.let { genre ->
|
||||
genres.add(genre.name)
|
||||
}
|
||||
}
|
||||
val genres = (if (mangaJson.get("hentai").int == 1) listOf("Hentai") else listOf()) +
|
||||
mangaJson.get("genres").asJsonArray.mapNotNull { GENRES.get(it.toString()) }
|
||||
manga.genre = genres.joinToString(", ")
|
||||
|
||||
return manga
|
||||
@ -467,7 +473,10 @@ open class Mangadex(override val lang: String, private val internalLang: String,
|
||||
private class GenreList(genres: List<Tag>) : Filter.Group<Tag>("Genres", genres)
|
||||
private class R18 : Filter.Select<String>("R18+", arrayOf("Default", "Show all", "Show only", "Show none"))
|
||||
private class Demographic : Filter.Select<String>("Demographic", arrayOf("All", "Shounen", "Shoujo", "Seinen", "Josei"))
|
||||
private class PublicationStatus : Filter.Select<String>("Publication status", arrayOf("All", "Ongoing", "Completed", "Cancelled", "Hiatus"))
|
||||
private class ThemeList(themes: List<Tag>) : Filter.Group<Tag>("Themes", themes)
|
||||
private class TagInclusionMode : Filter.Select<String>("Tag inclusion mode", arrayOf("All (and)", "Any (or)"), 0)
|
||||
private class TagExclusionMode : Filter.Select<String>("Tag exclusion mode", arrayOf("All (and)", "Any (or)"), 1)
|
||||
|
||||
class SortFilter : Filter.Sort("Sort",
|
||||
sortables.map { it.first }.toTypedArray(),
|
||||
@ -481,11 +490,14 @@ open class Mangadex(override val lang: String, private val internalLang: String,
|
||||
R18(),
|
||||
SortFilter(),
|
||||
Demographic(),
|
||||
PublicationStatus(),
|
||||
OriginalLanguage(),
|
||||
ContentList(getContentList()),
|
||||
FormatList(getFormatList()),
|
||||
GenreList(getGenreList()),
|
||||
ThemeList(getThemeList())
|
||||
ThemeList(getThemeList()),
|
||||
TagInclusionMode(),
|
||||
TagExclusionMode()
|
||||
)
|
||||
|
||||
private fun getContentList() = listOf(
|
||||
@ -514,12 +526,10 @@ open class Mangadex(override val lang: String, private val internalLang: String,
|
||||
Tag("2", "Action"),
|
||||
Tag("3", "Adventure"),
|
||||
Tag("5", "Comedy"),
|
||||
Tag("6", "Cooking"),
|
||||
Tag("8", "Drama"),
|
||||
Tag("10", "Fantasy"),
|
||||
Tag("13", "Historical"),
|
||||
Tag("14", "Horror"),
|
||||
Tag("15", "Josei"),
|
||||
Tag("17", "Mecha"),
|
||||
Tag("18", "Medical"),
|
||||
Tag("20", "Mystery"),
|
||||
@ -543,6 +553,8 @@ open class Mangadex(override val lang: String, private val internalLang: String,
|
||||
).sortedWith(compareBy { it.name })
|
||||
|
||||
private fun getThemeList() = listOf(
|
||||
Tag("6", "Cooking"),
|
||||
Tag("11", "Gyaru"),
|
||||
Tag("12", "Harem"),
|
||||
Tag("16", "Martial Arts"),
|
||||
Tag("19", "Music"),
|
||||
@ -578,6 +590,7 @@ open class Mangadex(override val lang: String, private val internalLang: String,
|
||||
Tag("83", "Incest")
|
||||
).sortedWith(compareBy { it.name })
|
||||
|
||||
private val GENRES = (getContentList() + getFormatList() + getGenreList() + getThemeList()).map { it.id to it.name }.toMap()
|
||||
|
||||
companion object {
|
||||
private val WHITESPACE_REGEX = "\\s".toRegex()
|
||||
|
@ -11,12 +11,13 @@ class MangaDexGerman : Mangadex("de", "de", 8)
|
||||
class MangaDexFrench : Mangadex("fr", "fr", 10)
|
||||
class MangaDexVietnamese : Mangadex("vi", "vn", 12)
|
||||
class MangaDexSpanishSpain : Mangadex("es", "es", 15)
|
||||
class MangaDexPortuguese : Mangadex("pt", "br", 16)
|
||||
class MangaDexSpanishLTAM : Mangadex("es-419", "mx", 29)
|
||||
class MangaDexCatalan : Mangadex("ca", "ct", 33)
|
||||
class MangaDexPortuguesePortugal : Mangadex("pt", "pt", 17)
|
||||
class MangaDexPortugueseBrazil : Mangadex("pt-BR", "br", 16)
|
||||
class MangaDexSwedish : Mangadex("sv", "se", 18)
|
||||
class MangaDexTurkish : Mangadex("tr", "tr", 26)
|
||||
class MangaDexIndonesian : Mangadex("id", "id", 27)
|
||||
class MangaDexSpanishLTAM : Mangadex("es-419", "mx", 29)
|
||||
class MangaDexCatalan : Mangadex("ca", "ct", 33)
|
||||
class MangaDexHungarian : Mangadex("hu", "hu", 9)
|
||||
class MangaDexBulgarian : Mangadex("bg", "bg", 14)
|
||||
class MangaDexFilipino : Mangadex("fil", "ph", 34)
|
||||
@ -24,7 +25,22 @@ class MangaDexDutch : Mangadex("nl", "nl", 5)
|
||||
class MangaDexArabic : Mangadex("ar", "sa", 19)
|
||||
class MangaDexChineseSimp : Mangadex("zh-Hans", "cn", 21)
|
||||
class MangaDexChineseTrad : Mangadex("zh-Hant", "hk", 35)
|
||||
class MangaDexThai: Mangadex("th", "th", 32)
|
||||
class MangaDexThai : Mangadex("th", "th", 32)
|
||||
class MangaDexBengali : Mangadex("bn", "bd", 22)
|
||||
class MangaDexBurmese : Mangadex("my", "mm", 37)
|
||||
class MangaDexCzech : Mangadex("cs", "cz", 24)
|
||||
class MangaDexDanish : Mangadex("da", "dk", 20)
|
||||
class MangaDexFinnish : Mangadex("fi", "fi", 11)
|
||||
class MangaDexGreek : Mangadex("el", "gr", 13)
|
||||
class MangaDexJapanese : Mangadex("ja", "jp", 2)
|
||||
class MangaDexKorean : Mangadex("ko", "kr", 28)
|
||||
class MangaDexLithuanian : Mangadex("lt", "lt", 38)
|
||||
class MangaDexMalay : Mangadex("ms", "my", 31)
|
||||
class MangaDexMongolian : Mangadex("mn", "mn", 25)
|
||||
class MangaDexPersian : Mangadex("fa", "ir", 30)
|
||||
class MangaDexRomanian : Mangadex("ro", "ro", 23)
|
||||
class MangaDexSerboCroatian : Mangadex("sh", "rs", 4)
|
||||
class MangaDexUkrainian : Mangadex("uk", "ua", 36)
|
||||
|
||||
fun getAllMangaDexLanguages() = listOf(
|
||||
MangaDexEnglish(),
|
||||
@ -35,12 +51,13 @@ fun getAllMangaDexLanguages() = listOf(
|
||||
MangaDexFrench(),
|
||||
MangaDexVietnamese(),
|
||||
MangaDexSpanishSpain(),
|
||||
MangaDexPortuguese(),
|
||||
MangaDexSpanishLTAM(),
|
||||
MangaDexCatalan(),
|
||||
MangaDexPortuguesePortugal(),
|
||||
MangaDexPortugueseBrazil(),
|
||||
MangaDexSwedish(),
|
||||
MangaDexTurkish(),
|
||||
MangaDexIndonesian(),
|
||||
MangaDexSpanishLTAM(),
|
||||
MangaDexCatalan(),
|
||||
MangaDexHungarian(),
|
||||
MangaDexBulgarian(),
|
||||
MangaDexFilipino(),
|
||||
@ -48,5 +65,20 @@ fun getAllMangaDexLanguages() = listOf(
|
||||
MangaDexArabic(),
|
||||
MangaDexChineseSimp(),
|
||||
MangaDexChineseTrad(),
|
||||
MangaDexThai()
|
||||
)
|
||||
MangaDexThai(),
|
||||
MangaDexBengali(),
|
||||
MangaDexBurmese(),
|
||||
MangaDexCzech(),
|
||||
MangaDexDanish(),
|
||||
MangaDexFinnish(),
|
||||
MangaDexGreek(),
|
||||
MangaDexJapanese(),
|
||||
MangaDexKorean(),
|
||||
MangaDexLithuanian(),
|
||||
MangaDexMalay(),
|
||||
MangaDexMongolian(),
|
||||
MangaDexPersian(),
|
||||
MangaDexRomanian(),
|
||||
MangaDexSerboCroatian(),
|
||||
MangaDexUkrainian()
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user