New: Rescan movie if destination file already exists during import

Closes #8230

Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
pull/8372/head
Qstick 1 year ago
parent 5727e7c43b
commit f2bf494cef

@ -8,9 +8,10 @@ using NzbDrone.Common.Extensions;
using NzbDrone.Core.Download; using NzbDrone.Core.Download;
using NzbDrone.Core.Extras; using NzbDrone.Core.Extras;
using NzbDrone.Core.History; using NzbDrone.Core.History;
using NzbDrone.Core.MediaFiles.Commands;
using NzbDrone.Core.MediaFiles.Events; using NzbDrone.Core.MediaFiles.Events;
using NzbDrone.Core.Messaging.Commands;
using NzbDrone.Core.Messaging.Events; using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.Parser;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.Qualities; using NzbDrone.Core.Qualities;
@ -29,6 +30,7 @@ namespace NzbDrone.Core.MediaFiles.MovieImport
private readonly IDiskProvider _diskProvider; private readonly IDiskProvider _diskProvider;
private readonly IHistoryService _historyService; private readonly IHistoryService _historyService;
private readonly IEventAggregator _eventAggregator; private readonly IEventAggregator _eventAggregator;
private readonly IManageCommandQueue _commandQueueManager;
private readonly Logger _logger; private readonly Logger _logger;
public ImportApprovedMovie(IUpgradeMediaFiles movieFileUpgrader, public ImportApprovedMovie(IUpgradeMediaFiles movieFileUpgrader,
@ -37,6 +39,7 @@ namespace NzbDrone.Core.MediaFiles.MovieImport
IDiskProvider diskProvider, IDiskProvider diskProvider,
IHistoryService historyService, IHistoryService historyService,
IEventAggregator eventAggregator, IEventAggregator eventAggregator,
IManageCommandQueue commandQueueManager,
Logger logger) Logger logger)
{ {
_movieFileUpgrader = movieFileUpgrader; _movieFileUpgrader = movieFileUpgrader;
@ -45,6 +48,7 @@ namespace NzbDrone.Core.MediaFiles.MovieImport
_diskProvider = diskProvider; _diskProvider = diskProvider;
_historyService = historyService; _historyService = historyService;
_eventAggregator = eventAggregator; _eventAggregator = eventAggregator;
_commandQueueManager = commandQueueManager;
_logger = logger; _logger = logger;
} }
@ -157,6 +161,8 @@ namespace NzbDrone.Core.MediaFiles.MovieImport
{ {
_logger.Warn(e, "Couldn't import movie " + localMovie); _logger.Warn(e, "Couldn't import movie " + localMovie);
importResults.Add(new ImportResult(importDecision, "Failed to import movie, Destination already exists.")); importResults.Add(new ImportResult(importDecision, "Failed to import movie, Destination already exists."));
_commandQueueManager.Push(new RescanMovieCommand(localMovie.Movie.Id));
} }
catch (Exception e) catch (Exception e)
{ {

Loading…
Cancel
Save