From 66e7ce6f277e1fd311d1b73c4b5c86fd9e6b1ad2 Mon Sep 17 00:00:00 2001 From: ta264 Date: Fri, 14 Jan 2022 19:36:05 +0000 Subject: [PATCH] Fixed: Queue items hanging in 'Downloaded - Importing' state --- .../BookImport/ImportApprovedBooks.cs | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/NzbDrone.Core/MediaFiles/BookImport/ImportApprovedBooks.cs b/src/NzbDrone.Core/MediaFiles/BookImport/ImportApprovedBooks.cs index 35e5a79e8..0f4835482 100644 --- a/src/NzbDrone.Core/MediaFiles/BookImport/ImportApprovedBooks.cs +++ b/src/NzbDrone.Core/MediaFiles/BookImport/ImportApprovedBooks.cs @@ -6,6 +6,7 @@ using NzbDrone.Common.Disk; using NzbDrone.Common.Extensions; using NzbDrone.Common.Instrumentation.Extensions; using NzbDrone.Core.Books; +using NzbDrone.Core.Books.Calibre; using NzbDrone.Core.Books.Commands; using NzbDrone.Core.Books.Events; using NzbDrone.Core.DecisionEngine; @@ -236,23 +237,30 @@ namespace NzbDrone.Core.MediaFiles.BookImport _logger.Warn(e, "Couldn't import book " + localTrack); _eventAggregator.PublishEvent(new TrackImportFailedEvent(e, localTrack, !localTrack.ExistingFile, downloadClientItem)); - importResults.Add(new ImportResult(importDecision, "Failed to import book, Root folder missing.")); + importResults.Add(new ImportResult(importDecision, "Failed to import book, root folder missing.")); } catch (DestinationAlreadyExistsException e) { _logger.Warn(e, "Couldn't import book " + localTrack); - importResults.Add(new ImportResult(importDecision, "Failed to import book, Destination already exists.")); + importResults.Add(new ImportResult(importDecision, "Failed to import book, destination already exists.")); } catch (UnauthorizedAccessException e) { _logger.Warn(e, "Couldn't import book " + localTrack); _eventAggregator.PublishEvent(new TrackImportFailedEvent(e, localTrack, !localTrack.ExistingFile, downloadClientItem)); - importResults.Add(new ImportResult(importDecision, "Failed to import book, Permissions error")); + importResults.Add(new ImportResult(importDecision, "Failed to import book, permissions error")); } - catch (Exception) + catch (CalibreException e) { - throw; + _logger.Warn(e, "Couldn't import book " + localTrack); + + importResults.Add(new ImportResult(importDecision, "Failed to import book, error communicating with Calibre. Check log for details.")); + } + catch (Exception e) + { + _logger.Warn(e, "Couldn't import book " + localTrack); + importResults.Add(new ImportResult(importDecision, "Failed to import book.")); } }