Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ komga:
mergeGenres: false # if true and aggregate is enabled will merge genres from all providers
bookCovers: false # update book thumbnails
seriesCovers: false # update series thumbnails
fallbackUseSeriesCoverForBook: false # If updating series cover and book cover, and no book cover exists, use the series cover for the book cover.
overrideExistingCovers: true # if false will upload but not select new cover if another cover already exists
overrideComicInfo: false # Replace existing ComicInfo file. If false, only append additional data
postProcessing:
Expand Down Expand Up @@ -144,6 +145,7 @@ kavita:
mergeGenres: false # if true and aggregate is enabled will merge genres from all providers
bookCovers: false #update book thumbnails
seriesCovers: false #update series thumbnails
fallbackUseSeriesCoverForBook: false # If updating series cover and book cover, and no book cover exists, use the series cover for the book cover.
overrideExistingCovers: true # if false will upload but not select new cover if another cover already exists
lockCovers: true # lock cover images so that kavita does not change them
postProcessing:
Expand Down Expand Up @@ -259,6 +261,7 @@ komga_or_kavita:
aggregate: false
bookCovers: false
seriesCovers: false
fallbackUseSeriesCoverForBook: false
postProcessing:
seriesTitle: false
titleType: LOCALIZED
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ data class MetadataProcessingConfigDto(
val mergeGenres: Boolean,
val bookCovers: Boolean,
val seriesCovers: Boolean,
val fallbackUseSeriesCoverForBook: Boolean,
val overrideExistingCovers: Boolean,
val lockCovers: Boolean,

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ data class MetadataProcessingConfigUpdateRequest(

val bookCovers: PatchValue<Boolean> = PatchValue.Unset,
val seriesCovers: PatchValue<Boolean> = PatchValue.Unset,
val fallbackUseSeriesCoverForBook: PatchValue<Boolean> = PatchValue.Unset,
val overrideExistingCovers: PatchValue<Boolean> = PatchValue.Unset,
val lockCovers: PatchValue<Boolean> = PatchValue.Unset,
val updateModes: PatchValue<Collection<KomfUpdateMode>> = PatchValue.Unset,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ class DeprecatedConfigUpdateMapper {
mergeGenres = config.mergeGenres,
bookCovers = config.bookCovers,
seriesCovers = config.seriesCovers,
fallbackUseSeriesCoverForBook = config.fallbackUseSeriesCoverForBook,
overrideExistingCovers = config.overrideExistingCovers,
lockCovers = config.lockCovers,
updateModes = config.updateModes,
Expand Down Expand Up @@ -544,6 +545,7 @@ class DeprecatedConfigUpdateMapper {
mergeGenres = patch.mergeGenres ?: config.mergeGenres,
bookCovers = patch.bookCovers ?: config.bookCovers,
seriesCovers = patch.seriesCovers ?: config.seriesCovers,
fallbackUseSeriesCoverForBook = patch.fallbackUseSeriesCoverForBook ?: config.fallbackUseSeriesCoverForBook,
overrideExistingCovers = patch.overrideExistingCovers ?: config.overrideExistingCovers,
updateModes = patch.updateModes ?: config.updateModes,
postProcessing = patch.postProcessing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ data class MetadataProcessingConfigDto(
val mergeGenres: Boolean,
val bookCovers: Boolean,
val seriesCovers: Boolean,
val fallbackUseSeriesCoverForBook: Boolean,
val overrideExistingCovers: Boolean,
var lockCovers: Boolean,
val updateModes: List<UpdateMode>,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ data class MetadataProcessingConfigUpdateDto(
val mergeTags: Boolean? = null,
val mergeGenres: Boolean? = null,
val seriesCovers: Boolean? = null,
val fallbackUseSeriesCoverForBook: Boolean? = null,
val overrideExistingCovers: Boolean? = null,
var lockCovers: Boolean? = null,
val updateModes: List<UpdateMode>? = null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ class AppConfigMapper {
mergeGenres = config.mergeGenres,
bookCovers = config.bookCovers,
seriesCovers = config.seriesCovers,
fallbackUseSeriesCoverForBook = config.fallbackUseSeriesCoverForBook,
overrideExistingCovers = config.overrideExistingCovers,
lockCovers = config.lockCovers,
updateModes = config.updateModes.map { it.fromUpdateMode() },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,7 @@ class AppConfigUpdateMapper {
mergeGenres = patch.mergeGenres.getOrNull() ?: config.mergeGenres,
bookCovers = patch.bookCovers.getOrNull() ?: config.bookCovers,
seriesCovers = patch.seriesCovers.getOrNull() ?: config.seriesCovers,
fallbackUseSeriesCoverForBook = patch.fallbackUseSeriesCoverForBook.getOrNull() ?: config.fallbackUseSeriesCoverForBook,
overrideExistingCovers = patch.overrideExistingCovers.getOrNull() ?: config.overrideExistingCovers,
lockCovers = patch.lockCovers.getOrNull() ?: config.lockCovers,
updateModes = patch.updateModes.getOrNull()?.map { it.toUpdateMode() } ?: config.updateModes,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,7 @@ class MediaServerModule(
updateModes = config.updateModes.toSet(),
uploadBookCovers = config.bookCovers,
uploadSeriesCovers = config.seriesCovers,
fallbackUseSeriesCoverForBook = config.fallbackUseSeriesCoverForBook,
overrideExistingCovers = config.overrideExistingCovers,
lockCovers = config.lockCovers,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ data class MetadataProcessingConfig(

val bookCovers: Boolean = false,
val seriesCovers: Boolean = false,
val fallbackUseSeriesCoverForBook: Boolean = false,
val overrideExistingCovers: Boolean = true,
var lockCovers: Boolean = true,
val updateModes: List<UpdateMode> = listOf(API),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ class MetadataUpdater(
private val overrideExistingCovers: Boolean,
private val uploadBookCovers: Boolean,
private val uploadSeriesCovers: Boolean,
private val fallbackUseSeriesCoverForBook: Boolean,
private val lockCovers: Boolean,
) {
private val requireMetadataRefresh = setOf(UpdateMode.COMIC_INFO)
Expand Down Expand Up @@ -136,7 +137,9 @@ class MetadataUpdater(
}
}

val newThumbnail = if (uploadBookCovers) metadata?.thumbnail else null
val newThumbnail = if (uploadBookCovers) {
metadata?.thumbnail ?: if (fallbackUseSeriesCoverForBook && uploadSeriesCovers) seriesMeta.thumbnail else null
} else null
val thumbnailId = replaceBookThumbnail(book.id, newThumbnail)

if (thumbnailId == null) {
Expand Down