Fixed: Don't delete extra files after unlinking an episode file that still exists on disk

pull/77/head
Mark McDowall 8 years ago
parent b093be3f4e
commit 7b09b259a8

@ -111,23 +111,32 @@ namespace NzbDrone.Core.Extras.Files
public void HandleAsync(EpisodeFileDeletedEvent message) public void HandleAsync(EpisodeFileDeletedEvent message)
{ {
var episodeFile = message.EpisodeFile; var episodeFile = message.EpisodeFile;
var series = _seriesService.GetSeries(message.EpisodeFile.SeriesId);
foreach (var extra in _repository.GetFilesByEpisodeFile(episodeFile.Id)) if (message.Reason == DeleteMediaFileReason.NoLinkedEpisodes)
{ {
var path = Path.Combine(series.Path, extra.RelativePath); _logger.Debug("Removing episode file from DB as part of cleanup routine, not deleting extra files from disk.");
}
else
{
var series = _seriesService.GetSeries(message.EpisodeFile.SeriesId);
if (_diskProvider.FileExists(path)) foreach (var extra in _repository.GetFilesByEpisodeFile(episodeFile.Id))
{ {
if (PermanentlyDelete) var path = Path.Combine(series.Path, extra.RelativePath);
{
_diskProvider.DeleteFile(path);
}
else if (_diskProvider.FileExists(path))
{ {
// Send extra files to the recycling bin so they can be recovered if necessary if (PermanentlyDelete)
_recycleBinProvider.DeleteFile(path); {
_diskProvider.DeleteFile(path);
}
else
{
// Send extra files to the recycling bin so they can be recovered if necessary
_recycleBinProvider.DeleteFile(path);
}
} }
} }
} }

@ -236,7 +236,7 @@ namespace NzbDrone.Core.History
{ {
if (message.Reason == DeleteMediaFileReason.NoLinkedEpisodes) if (message.Reason == DeleteMediaFileReason.NoLinkedEpisodes)
{ {
_logger.Debug("Removing episode file from DB as part of cleanup routine."); _logger.Debug("Removing episode file from DB as part of cleanup routine, not creating history event.");
return; return;
} }

Loading…
Cancel
Save