feat: library option to import local artwork

enabled by default
This commit is contained in:
Gauthier Roebroeck 2020-08-14 15:07:39 +08:00
parent fca018033d
commit eefb80213a
5 changed files with 20 additions and 6 deletions

View file

@ -0,0 +1,2 @@
alter table library
add column IMPORT_LOCAL_ARTWORK boolean NOT NULL DEFAULT 1;

View file

@ -14,6 +14,7 @@ data class Library(
val importComicInfoCollection: Boolean = true,
val importEpubBook: Boolean = true,
val importEpubSeries: Boolean = true,
val importLocalArtwork: Boolean = true,
val scanForceModifiedTime: Boolean = false,
val scanDeep: Boolean = false,

View file

@ -63,9 +63,10 @@ class MetadataLifecycle(
}
}
localArtworkProvider.getBookThumbnails(book).forEach {
bookLifecycle.addThumbnailForBook(it)
}
if (library.importLocalArtwork)
localArtworkProvider.getBookThumbnails(book).forEach {
bookLifecycle.addThumbnailForBook(it)
}
}
fun refreshMetadata(series: Series) {
@ -133,9 +134,10 @@ class MetadataLifecycle(
}
}
localArtworkProvider.getSeriesThumbnails(series).forEach {
seriesLifecycle.addThumbnailForSeries(it)
}
if (library.importLocalArtwork)
localArtworkProvider.getSeriesThumbnails(series).forEach {
seriesLifecycle.addThumbnailForSeries(it)
}
}
private fun <T, R : Any> Iterable<T>.uniqueOrNull(transform: (T) -> R?): R? {

View file

@ -72,6 +72,7 @@ class LibraryDao(
.set(l.IMPORT_COMICINFO_COLLECTION, library.importComicInfoCollection)
.set(l.IMPORT_EPUB_BOOK, library.importEpubBook)
.set(l.IMPORT_EPUB_SERIES, library.importEpubSeries)
.set(l.IMPORT_LOCAL_ARTWORK, library.importLocalArtwork)
.set(l.SCAN_FORCE_MODIFIED_TIME, library.scanForceModifiedTime)
.set(l.SCAN_DEEP, library.scanDeep)
.execute()
@ -86,6 +87,7 @@ class LibraryDao(
.set(l.IMPORT_COMICINFO_COLLECTION, library.importComicInfoCollection)
.set(l.IMPORT_EPUB_BOOK, library.importEpubBook)
.set(l.IMPORT_EPUB_SERIES, library.importEpubSeries)
.set(l.IMPORT_LOCAL_ARTWORK, library.importLocalArtwork)
.set(l.SCAN_FORCE_MODIFIED_TIME, library.scanForceModifiedTime)
.set(l.SCAN_DEEP, library.scanDeep)
.set(l.LAST_MODIFIED_DATE, LocalDateTime.now(ZoneId.of("Z")))
@ -105,6 +107,7 @@ class LibraryDao(
importComicInfoCollection = importComicinfoCollection,
importEpubBook = importEpubBook,
importEpubSeries = importEpubSeries,
importLocalArtwork = importLocalArtwork,
scanForceModifiedTime = scanForceModifiedTime,
scanDeep = scanDeep,
id = id,

View file

@ -78,6 +78,7 @@ class LibraryController(
importComicInfoCollection = library.importComicInfoCollection,
importEpubBook = library.importEpubBook,
importEpubSeries = library.importEpubSeries,
importLocalArtwork = library.importLocalArtwork,
scanForceModifiedTime = library.scanForceModifiedTime,
scanDeep = library.scanDeep
)
@ -110,6 +111,7 @@ class LibraryController(
importComicInfoCollection = library.importComicInfoCollection,
importEpubBook = library.importEpubBook,
importEpubSeries = library.importEpubSeries,
importLocalArtwork = library.importLocalArtwork,
scanForceModifiedTime = library.scanForceModifiedTime,
scanDeep = library.scanDeep
)
@ -162,6 +164,7 @@ data class LibraryCreationDto(
val importComicInfoCollection: Boolean = true,
val importEpubBook: Boolean = true,
val importEpubSeries: Boolean = true,
val importLocalArtwork: Boolean = true,
val scanForceModifiedTime: Boolean = false,
val scanDeep: Boolean = false
)
@ -175,6 +178,7 @@ data class LibraryDto(
val importComicInfoCollection: Boolean,
val importEpubBook: Boolean,
val importEpubSeries: Boolean,
val importLocalArtwork: Boolean,
val scanForceModifiedTime: Boolean,
val scanDeep: Boolean
)
@ -187,6 +191,7 @@ data class LibraryUpdateDto(
val importComicInfoCollection: Boolean,
val importEpubBook: Boolean,
val importEpubSeries: Boolean,
val importLocalArtwork: Boolean,
val scanForceModifiedTime: Boolean,
val scanDeep: Boolean
)
@ -200,6 +205,7 @@ fun Library.toDto(includeRoot: Boolean) = LibraryDto(
importComicInfoCollection = importComicInfoCollection,
importEpubBook = importEpubBook,
importEpubSeries = importEpubSeries,
importLocalArtwork = importLocalArtwork,
scanForceModifiedTime = scanForceModifiedTime,
scanDeep = scanDeep
)