mirror of
https://github.com/gotson/komga.git
synced 2025-12-28 11:24:59 +01:00
refactor: generate thumbnail and refresh metadata only for ready books
This commit is contained in:
parent
f7f3efd0dd
commit
c95a8c1304
1 changed files with 10 additions and 9 deletions
|
|
@ -39,24 +39,25 @@ class BookLifecycle(
|
|||
|
||||
fun analyzeAndPersist(book: Book): Boolean {
|
||||
logger.info { "Analyze and persist book: $book" }
|
||||
val (media, error) = try {
|
||||
bookAnalyzer.analyze(book) to false
|
||||
val media = try {
|
||||
bookAnalyzer.analyze(book)
|
||||
} catch (ade: AccessDeniedException) {
|
||||
logger.error(ade) { "Error while analyzing book: $book" }
|
||||
Media(status = Media.Status.ERROR, comment = "ERR_1000") to true
|
||||
Media(status = Media.Status.ERROR, comment = "ERR_1000")
|
||||
} catch (ex: Exception) {
|
||||
logger.error(ex) { "Error while analyzing book: $book" }
|
||||
Media(status = Media.Status.ERROR, comment = "ERR_1005") to true
|
||||
}.let { it.first.copy(bookId = book.id) to it.second }
|
||||
Media(status = Media.Status.ERROR, comment = "ERR_1005")
|
||||
}.copy(bookId = book.id)
|
||||
|
||||
// if the number of pages has changed, delete all read progress for that book
|
||||
val previous = mediaRepository.findById(book.id)
|
||||
if (previous.status == Media.Status.OUTDATED && previous.pages.size != media.pages.size) {
|
||||
readProgressRepository.deleteByBookId(book.id)
|
||||
mediaRepository.findById(book.id).let { previous ->
|
||||
if (previous.status == Media.Status.OUTDATED && previous.pages.size != media.pages.size) {
|
||||
readProgressRepository.deleteByBookId(book.id)
|
||||
}
|
||||
}
|
||||
|
||||
mediaRepository.update(media)
|
||||
return !error
|
||||
return media.status == Media.Status.READY
|
||||
}
|
||||
|
||||
fun generateThumbnailAndPersist(book: Book) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue