mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2026-04-22 22:34:53 -04:00
Added: A Huge Cleanup of old Series Code. (Let's pray nothing breaks :P) (#2589)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using System.IO;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Disk;
|
||||
@@ -8,7 +8,6 @@ namespace NzbDrone.Core.MediaFiles
|
||||
{
|
||||
public interface IUpgradeMediaFiles
|
||||
{
|
||||
EpisodeFileMoveResult UpgradeEpisodeFile(EpisodeFile episodeFile, LocalEpisode localEpisode, bool copyOnly = false);
|
||||
MovieFileMoveResult UpgradeMovieFile(MovieFile movieFile, LocalMovie localMovie, bool copyOnly = false);
|
||||
}
|
||||
|
||||
@@ -16,7 +15,6 @@ namespace NzbDrone.Core.MediaFiles
|
||||
{
|
||||
private readonly IRecycleBinProvider _recycleBinProvider;
|
||||
private readonly IMediaFileService _mediaFileService;
|
||||
private readonly IMoveEpisodeFiles _episodeFileMover;
|
||||
private readonly IMoveMovieFiles _movieFileMover;
|
||||
private readonly IRenameMovieFileService _movieFileRenamer;
|
||||
private readonly IDiskProvider _diskProvider;
|
||||
@@ -24,18 +22,16 @@ namespace NzbDrone.Core.MediaFiles
|
||||
|
||||
public UpgradeMediaFileService(IRecycleBinProvider recycleBinProvider,
|
||||
IMediaFileService mediaFileService,
|
||||
IMoveEpisodeFiles episodeFileMover,
|
||||
IMoveMovieFiles movieFileMover,
|
||||
IDiskProvider diskProvider,
|
||||
IRenameMovieFileService movieFileRenamer,
|
||||
IRenameMovieFileService movieFileRenamer,
|
||||
Logger logger)
|
||||
{
|
||||
_recycleBinProvider = recycleBinProvider;
|
||||
_mediaFileService = mediaFileService;
|
||||
_episodeFileMover = episodeFileMover;
|
||||
_movieFileMover = movieFileMover;
|
||||
_diskProvider = diskProvider;
|
||||
_movieFileRenamer = movieFileRenamer;
|
||||
_movieFileRenamer = movieFileRenamer;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
@@ -77,40 +73,5 @@ namespace NzbDrone.Core.MediaFiles
|
||||
|
||||
return moveFileResult;
|
||||
}
|
||||
|
||||
public EpisodeFileMoveResult UpgradeEpisodeFile(EpisodeFile episodeFile, LocalEpisode localEpisode, bool copyOnly = false)
|
||||
{
|
||||
var moveFileResult = new EpisodeFileMoveResult();
|
||||
var existingFiles = localEpisode.Episodes
|
||||
.Where(e => e.EpisodeFileId > 0)
|
||||
.Select(e => e.EpisodeFile.Value)
|
||||
.GroupBy(e => e.Id);
|
||||
|
||||
foreach (var existingFile in existingFiles)
|
||||
{
|
||||
var file = existingFile.First();
|
||||
var episodeFilePath = Path.Combine(localEpisode.Series.Path, file.RelativePath);
|
||||
|
||||
if (_diskProvider.FileExists(episodeFilePath))
|
||||
{
|
||||
_logger.Debug("Removing existing episode file: {0}", file);
|
||||
_recycleBinProvider.DeleteFile(episodeFilePath);
|
||||
}
|
||||
|
||||
moveFileResult.OldFiles.Add(file);
|
||||
_mediaFileService.Delete(file, DeleteMediaFileReason.Upgrade);
|
||||
}
|
||||
|
||||
if (copyOnly)
|
||||
{
|
||||
moveFileResult.EpisodeFile = _episodeFileMover.CopyEpisodeFile(episodeFile, localEpisode);
|
||||
}
|
||||
else
|
||||
{
|
||||
moveFileResult.EpisodeFile = _episodeFileMover.MoveEpisodeFile(episodeFile, localEpisode);
|
||||
}
|
||||
|
||||
return moveFileResult;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user