diff --git a/komga/src/flyway/resources/db/migration/sqlite/V20200814145800__library_import_local_artwork.sql b/komga/src/flyway/resources/db/migration/sqlite/V20200814145800__library_import_local_artwork.sql new file mode 100644 index 0000000000..143f0e71c4 --- /dev/null +++ b/komga/src/flyway/resources/db/migration/sqlite/V20200814145800__library_import_local_artwork.sql @@ -0,0 +1,2 @@ +alter table library + add column IMPORT_LOCAL_ARTWORK boolean NOT NULL DEFAULT 1; diff --git a/komga/src/main/kotlin/org/gotson/komga/domain/model/Library.kt b/komga/src/main/kotlin/org/gotson/komga/domain/model/Library.kt index 1744344193..faa0423d75 100644 --- a/komga/src/main/kotlin/org/gotson/komga/domain/model/Library.kt +++ b/komga/src/main/kotlin/org/gotson/komga/domain/model/Library.kt @@ -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, diff --git a/komga/src/main/kotlin/org/gotson/komga/domain/service/MetadataLifecycle.kt b/komga/src/main/kotlin/org/gotson/komga/domain/service/MetadataLifecycle.kt index b2da811725..0254ce222f 100644 --- a/komga/src/main/kotlin/org/gotson/komga/domain/service/MetadataLifecycle.kt +++ b/komga/src/main/kotlin/org/gotson/komga/domain/service/MetadataLifecycle.kt @@ -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 Iterable.uniqueOrNull(transform: (T) -> R?): R? { diff --git a/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/LibraryDao.kt b/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/LibraryDao.kt index 7794343578..8c3f275e70 100644 --- a/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/LibraryDao.kt +++ b/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/LibraryDao.kt @@ -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, diff --git a/komga/src/main/kotlin/org/gotson/komga/interfaces/rest/LibraryController.kt b/komga/src/main/kotlin/org/gotson/komga/interfaces/rest/LibraryController.kt index 7124a9b84d..ffed62ad9f 100644 --- a/komga/src/main/kotlin/org/gotson/komga/interfaces/rest/LibraryController.kt +++ b/komga/src/main/kotlin/org/gotson/komga/interfaces/rest/LibraryController.kt @@ -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 )