Fixed: Deleting empty episode folders on upgrade

Fixed #3883
pull/3902/head
Mark McDowall 4 years ago
parent 57335c6d3a
commit ac75a31641

@ -117,23 +117,27 @@ namespace NzbDrone.Core.MediaFiles
[EventHandleOrder(EventHandleOrder.Last)] [EventHandleOrder(EventHandleOrder.Last)]
public void Handle(EpisodeFileDeletedEvent message) public void Handle(EpisodeFileDeletedEvent message)
{ {
if (message.Reason == DeleteMediaFileReason.Upgrade)
{
return;
}
if (_configService.DeleteEmptyFolders) if (_configService.DeleteEmptyFolders)
{ {
var series = message.EpisodeFile.Series.Value; var series = message.EpisodeFile.Series.Value;
var seasonFolder = message.EpisodeFile.Path.GetParentPath(); var seriesPath = series.Path;
var folder = message.EpisodeFile.Path.GetParentPath();
if (_diskProvider.GetFiles(series.Path, SearchOption.AllDirectories).Empty()) while (seriesPath.IsParentPath(folder))
{
if (_diskProvider.FolderExists(folder))
{ {
_diskProvider.DeleteFolder(series.Path, true); _diskProvider.RemoveEmptySubfolders(folder);
} }
else if (_diskProvider.GetFiles(seasonFolder, SearchOption.AllDirectories).Empty())
folder = folder.GetParentPath();
}
_diskProvider.RemoveEmptySubfolders(seriesPath);
if (_diskProvider.FolderEmpty(seriesPath))
{ {
_diskProvider.RemoveEmptySubfolders(seasonFolder); _diskProvider.DeleteFolder(seriesPath, true);
} }
} }
} }

Loading…
Cancel
Save