mirror of
https://github.com/keiyoushi/extensions-source.git
synced 2024-11-22 10:22:47 +01:00
parent
e768a0a7c4
commit
6577a20ead
@ -3,6 +3,9 @@ ignored_groups_summary=Chapters from these groups won't be shown.\nOne group nam
|
|||||||
include_tags_title=Include Tags
|
include_tags_title=Include Tags
|
||||||
include_tags_on=More specific, but might contain spoilers!
|
include_tags_on=More specific, but might contain spoilers!
|
||||||
include_tags_off=Only the broader genres
|
include_tags_off=Only the broader genres
|
||||||
|
group_tags_title=Group Tags (fork must support grouping)
|
||||||
|
group_tags_on=Will prefix tags with their type
|
||||||
|
group_tags_off=List all tags together
|
||||||
update_cover_title=Update Covers
|
update_cover_title=Update Covers
|
||||||
update_cover_on=Keep cover updated
|
update_cover_on=Keep cover updated
|
||||||
update_cover_off=Prefer first cover
|
update_cover_off=Prefer first cover
|
||||||
|
@ -3,6 +3,9 @@ ignored_groups_summary=Capítulos desses grupos não aparecerão.\nUm grupo por
|
|||||||
include_tags_title=Incluir Tags
|
include_tags_title=Incluir Tags
|
||||||
include_tags_on=Mais detalhadas, mas podem conter spoilers
|
include_tags_on=Mais detalhadas, mas podem conter spoilers
|
||||||
include_tags_off=Apenas os gêneros básicos
|
include_tags_off=Apenas os gêneros básicos
|
||||||
|
group_tags_title=Agrupar Tags (necessário fork compatível)
|
||||||
|
group_tags_on=Prefixar tags com o respectivo tipo
|
||||||
|
group_tags_off=Listar todas as tags juntas
|
||||||
update_cover_title=Atualizar Capas
|
update_cover_title=Atualizar Capas
|
||||||
update_cover_on=Manter capas atualizadas
|
update_cover_on=Manter capas atualizadas
|
||||||
update_cover_off=Usar apenas a primeira capa
|
update_cover_off=Usar apenas a primeira capa
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
ext {
|
ext {
|
||||||
extName = 'Comick'
|
extName = 'Comick'
|
||||||
extClass = '.ComickFactory'
|
extClass = '.ComickFactory'
|
||||||
extVersionCode = 48
|
extVersionCode = 49
|
||||||
isNsfw = true
|
isNsfw = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,6 +97,20 @@ abstract class Comick(
|
|||||||
}
|
}
|
||||||
}.also(screen::addPreference)
|
}.also(screen::addPreference)
|
||||||
|
|
||||||
|
SwitchPreferenceCompat(screen.context).apply {
|
||||||
|
key = GROUP_TAGS_PREF
|
||||||
|
title = intl["group_tags_title"]
|
||||||
|
summaryOn = intl["group_tags_on"]
|
||||||
|
summaryOff = intl["group_tags_off"]
|
||||||
|
setDefaultValue(GROUP_TAGS_DEFAULT)
|
||||||
|
|
||||||
|
setOnPreferenceChangeListener { _, newValue ->
|
||||||
|
preferences.edit()
|
||||||
|
.putBoolean(GROUP_TAGS_PREF, newValue as Boolean)
|
||||||
|
.commit()
|
||||||
|
}
|
||||||
|
}.also(screen::addPreference)
|
||||||
|
|
||||||
SwitchPreferenceCompat(screen.context).apply {
|
SwitchPreferenceCompat(screen.context).apply {
|
||||||
key = FIRST_COVER_PREF
|
key = FIRST_COVER_PREF
|
||||||
title = intl["update_cover_title"]
|
title = intl["update_cover_title"]
|
||||||
@ -149,6 +163,9 @@ abstract class Comick(
|
|||||||
private val SharedPreferences.includeMuTags: Boolean
|
private val SharedPreferences.includeMuTags: Boolean
|
||||||
get() = getBoolean(INCLUDE_MU_TAGS_PREF, INCLUDE_MU_TAGS_DEFAULT)
|
get() = getBoolean(INCLUDE_MU_TAGS_PREF, INCLUDE_MU_TAGS_DEFAULT)
|
||||||
|
|
||||||
|
private val SharedPreferences.groupTags: Boolean
|
||||||
|
get() = getBoolean(GROUP_TAGS_PREF, GROUP_TAGS_DEFAULT)
|
||||||
|
|
||||||
private val SharedPreferences.updateCover: Boolean
|
private val SharedPreferences.updateCover: Boolean
|
||||||
get() = getBoolean(FIRST_COVER_PREF, FIRST_COVER_DEFAULT)
|
get() = getBoolean(FIRST_COVER_PREF, FIRST_COVER_DEFAULT)
|
||||||
|
|
||||||
@ -390,11 +407,13 @@ abstract class Comick(
|
|||||||
includeMuTags = preferences.includeMuTags,
|
includeMuTags = preferences.includeMuTags,
|
||||||
scorePosition = preferences.scorePosition,
|
scorePosition = preferences.scorePosition,
|
||||||
covers = covers,
|
covers = covers,
|
||||||
|
groupTags = preferences.groupTags,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
return mangaData.toSManga(
|
return mangaData.toSManga(
|
||||||
includeMuTags = preferences.includeMuTags,
|
includeMuTags = preferences.includeMuTags,
|
||||||
scorePosition = preferences.scorePosition,
|
scorePosition = preferences.scorePosition,
|
||||||
|
groupTags = preferences.groupTags,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -513,6 +532,8 @@ abstract class Comick(
|
|||||||
private const val IGNORED_GROUPS_PREF = "IgnoredGroups"
|
private const val IGNORED_GROUPS_PREF = "IgnoredGroups"
|
||||||
private const val INCLUDE_MU_TAGS_PREF = "IncludeMangaUpdatesTags"
|
private const val INCLUDE_MU_TAGS_PREF = "IncludeMangaUpdatesTags"
|
||||||
const val INCLUDE_MU_TAGS_DEFAULT = false
|
const val INCLUDE_MU_TAGS_DEFAULT = false
|
||||||
|
private const val GROUP_TAGS_PREF = "GroupTags"
|
||||||
|
const val GROUP_TAGS_DEFAULT = false
|
||||||
private const val MIGRATED_IGNORED_GROUPS = "MigratedIgnoredGroups"
|
private const val MIGRATED_IGNORED_GROUPS = "MigratedIgnoredGroups"
|
||||||
private const val FIRST_COVER_PREF = "DefaultCover"
|
private const val FIRST_COVER_PREF = "DefaultCover"
|
||||||
private const val FIRST_COVER_DEFAULT = true
|
private const val FIRST_COVER_DEFAULT = true
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package eu.kanade.tachiyomi.extension.all.comickfun
|
package eu.kanade.tachiyomi.extension.all.comickfun
|
||||||
|
|
||||||
|
import eu.kanade.tachiyomi.extension.all.comickfun.Comick.Companion.GROUP_TAGS_DEFAULT
|
||||||
import eu.kanade.tachiyomi.extension.all.comickfun.Comick.Companion.INCLUDE_MU_TAGS_DEFAULT
|
import eu.kanade.tachiyomi.extension.all.comickfun.Comick.Companion.INCLUDE_MU_TAGS_DEFAULT
|
||||||
import eu.kanade.tachiyomi.extension.all.comickfun.Comick.Companion.SCORE_POSITION_DEFAULT
|
import eu.kanade.tachiyomi.extension.all.comickfun.Comick.Companion.SCORE_POSITION_DEFAULT
|
||||||
import eu.kanade.tachiyomi.source.model.SChapter
|
import eu.kanade.tachiyomi.source.model.SChapter
|
||||||
@ -29,13 +30,14 @@ class Manga(
|
|||||||
val comic: Comic,
|
val comic: Comic,
|
||||||
private val artists: List<Name> = emptyList(),
|
private val artists: List<Name> = emptyList(),
|
||||||
private val authors: List<Name> = emptyList(),
|
private val authors: List<Name> = emptyList(),
|
||||||
private val genres: List<Name> = emptyList(),
|
private val genres: List<Genre> = emptyList(),
|
||||||
private val demographic: String? = null,
|
private val demographic: String? = null,
|
||||||
) {
|
) {
|
||||||
fun toSManga(
|
fun toSManga(
|
||||||
includeMuTags: Boolean = INCLUDE_MU_TAGS_DEFAULT,
|
includeMuTags: Boolean = INCLUDE_MU_TAGS_DEFAULT,
|
||||||
scorePosition: String = SCORE_POSITION_DEFAULT,
|
scorePosition: String = SCORE_POSITION_DEFAULT,
|
||||||
covers: List<MDcovers>? = null,
|
covers: List<MDcovers>? = null,
|
||||||
|
groupTags: Boolean = GROUP_TAGS_DEFAULT,
|
||||||
) =
|
) =
|
||||||
SManga.create().apply {
|
SManga.create().apply {
|
||||||
// appennding # at end as part of migration from slug to hid
|
// appennding # at end as part of migration from slug to hid
|
||||||
@ -75,19 +77,23 @@ class Manga(
|
|||||||
artist = artists.joinToString { it.name.trim() }
|
artist = artists.joinToString { it.name.trim() }
|
||||||
author = authors.joinToString { it.name.trim() }
|
author = authors.joinToString { it.name.trim() }
|
||||||
genre = buildList {
|
genre = buildList {
|
||||||
comic.origination?.let(::add)
|
comic.origination?.let { add(Genre("Origination", it.name)) }
|
||||||
demographic?.let { add(Name(it)) }
|
demographic?.let { add(Genre("Demographic", it)) }
|
||||||
addAll(genres)
|
addAll(
|
||||||
addAll(comic.mdGenres.mapNotNull { it.name })
|
comic.mdGenres.mapNotNull { it.genre }.sortedBy { it.group }
|
||||||
|
.sortedBy { it.name },
|
||||||
|
)
|
||||||
|
addAll(genres.sortedBy { it.group }.sortedBy { it.name })
|
||||||
if (includeMuTags) {
|
if (includeMuTags) {
|
||||||
comic.muGenres.categories.forEach { category ->
|
addAll(
|
||||||
category?.category?.title?.let { add(Name(it)) }
|
comic.muGenres.categories.mapNotNull { it?.category?.title }.sorted()
|
||||||
}
|
.map { Genre("Category", it) },
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.distinctBy { it.name }
|
.distinctBy { it.name }
|
||||||
.filter { it.name.isNotBlank() }
|
.filterNot { it.name.isNullOrBlank() || it.group.isNullOrBlank() }
|
||||||
.joinToString { it.name.trim() }
|
.joinToString { if (groupTags) "${it.group}:${it.name?.trim()}" else "${it.name?.trim()}" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,7 +134,13 @@ class Comic(
|
|||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
class MdGenres(
|
class MdGenres(
|
||||||
@SerialName("md_genres") val name: Name? = null,
|
@SerialName("md_genres") val genre: Genre? = null,
|
||||||
|
)
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
class Genre(
|
||||||
|
val group: String? = null,
|
||||||
|
val name: String? = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
Loading…
Reference in New Issue
Block a user