1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-10-06 08:07:20 +02:00

EpisodeFileMover updates episode file path after move

This commit is contained in:
Mark McDowall 2014-02-27 16:32:08 -08:00
parent 645d44bf8f
commit 7758db5324
5 changed files with 14 additions and 13 deletions

View File

@ -1,5 +1,4 @@
using System; using System.Collections.Generic;
using System.Collections.Generic;
namespace NzbDrone.Core.MediaFiles namespace NzbDrone.Core.MediaFiles
{ {
@ -10,7 +9,7 @@ public EpisodeFileMoveResult()
OldFiles = new List<EpisodeFile>(); OldFiles = new List<EpisodeFile>();
} }
public String Path { get; set; } public EpisodeFile EpisodeFile { get; set; }
public List<EpisodeFile> OldFiles { get; set; } public List<EpisodeFile> OldFiles { get; set; }
} }
} }

View File

@ -15,8 +15,8 @@ namespace NzbDrone.Core.MediaFiles
{ {
public interface IMoveEpisodeFiles public interface IMoveEpisodeFiles
{ {
string MoveEpisodeFile(EpisodeFile episodeFile, Series series); EpisodeFile MoveEpisodeFile(EpisodeFile episodeFile, Series series);
string MoveEpisodeFile(EpisodeFile episodeFile, LocalEpisode localEpisode); EpisodeFile MoveEpisodeFile(EpisodeFile episodeFile, LocalEpisode localEpisode);
} }
public class EpisodeFileMovingService : IMoveEpisodeFiles public class EpisodeFileMovingService : IMoveEpisodeFiles
@ -40,7 +40,7 @@ public EpisodeFileMovingService(IEpisodeService episodeService,
_logger = logger; _logger = logger;
} }
public string MoveEpisodeFile(EpisodeFile episodeFile, Series series) public EpisodeFile MoveEpisodeFile(EpisodeFile episodeFile, Series series)
{ {
var episodes = _episodeService.GetEpisodesByFileId(episodeFile.Id); var episodes = _episodeService.GetEpisodesByFileId(episodeFile.Id);
var newFileName = _buildFileNames.BuildFilename(episodes, series, episodeFile); var newFileName = _buildFileNames.BuildFilename(episodes, series, episodeFile);
@ -49,10 +49,10 @@ public string MoveEpisodeFile(EpisodeFile episodeFile, Series series)
_logger.Trace("Renaming episode file: {0} to {1}", episodeFile, filePath); _logger.Trace("Renaming episode file: {0} to {1}", episodeFile, filePath);
MoveFile(episodeFile, series, filePath); MoveFile(episodeFile, series, filePath);
return filePath; return episodeFile;
} }
public string MoveEpisodeFile(EpisodeFile episodeFile, LocalEpisode localEpisode) public EpisodeFile MoveEpisodeFile(EpisodeFile episodeFile, LocalEpisode localEpisode)
{ {
var newFileName = _buildFileNames.BuildFilename(localEpisode.Episodes, localEpisode.Series, episodeFile); var newFileName = _buildFileNames.BuildFilename(localEpisode.Episodes, localEpisode.Series, episodeFile);
var filePath = _buildFileNames.BuildFilePath(localEpisode.Series, localEpisode.SeasonNumber, newFileName, Path.GetExtension(episodeFile.Path)); var filePath = _buildFileNames.BuildFilePath(localEpisode.Series, localEpisode.SeasonNumber, newFileName, Path.GetExtension(episodeFile.Path));
@ -60,10 +60,10 @@ public string MoveEpisodeFile(EpisodeFile episodeFile, LocalEpisode localEpisode
_logger.Trace("Moving episode file: {0} to {1}", episodeFile, filePath); _logger.Trace("Moving episode file: {0} to {1}", episodeFile, filePath);
MoveFile(episodeFile, localEpisode.Series, filePath); MoveFile(episodeFile, localEpisode.Series, filePath);
return filePath; return episodeFile;
} }
private void MoveFile(EpisodeFile episodeFile, Series series, string destinationFilename) private EpisodeFile MoveFile(EpisodeFile episodeFile, Series series, string destinationFilename)
{ {
Ensure.That(episodeFile, () => episodeFile).IsNotNull(); Ensure.That(episodeFile, () => episodeFile).IsNotNull();
Ensure.That(series,() => series).IsNotNull(); Ensure.That(series,() => series).IsNotNull();
@ -94,6 +94,7 @@ private void MoveFile(EpisodeFile episodeFile, Series series, string destination
_logger.Debug("Moving [{0}] > [{1}]", episodeFile.Path, destinationFilename); _logger.Debug("Moving [{0}] > [{1}]", episodeFile.Path, destinationFilename);
_diskProvider.MoveFile(episodeFile.Path, destinationFilename); _diskProvider.MoveFile(episodeFile.Path, destinationFilename);
episodeFile.Path = destinationFilename;
try try
{ {
@ -141,6 +142,8 @@ private void MoveFile(EpisodeFile episodeFile, Series series, string destination
{ {
SetPermissions(destinationFilename, _configService.FileChmod); SetPermissions(destinationFilename, _configService.FileChmod);
} }
return episodeFile;
} }
private void SetPermissions(string path, string permissions) private void SetPermissions(string path, string permissions)

View File

@ -80,7 +80,6 @@ public List<ImportDecision> Import(List<ImportDecision> decisions, bool newDownl
{ {
episodeFile.SceneName = Path.GetFileNameWithoutExtension(localEpisode.Path.CleanFilePath()); episodeFile.SceneName = Path.GetFileNameWithoutExtension(localEpisode.Path.CleanFilePath());
var moveResult = _episodeFileUpgrader.UpgradeEpisodeFile(episodeFile, localEpisode); var moveResult = _episodeFileUpgrader.UpgradeEpisodeFile(episodeFile, localEpisode);
episodeFile.Path = moveResult.Path;
oldFiles = moveResult.OldFiles; oldFiles = moveResult.OldFiles;
} }

View File

@ -116,7 +116,7 @@ private void RenameFiles(List<EpisodeFile> episodeFiles, Series series)
try try
{ {
_logger.Trace("Renaming episode file: {0}", episodeFile); _logger.Trace("Renaming episode file: {0}", episodeFile);
episodeFile.Path = _episodeFileMover.MoveEpisodeFile(episodeFile, series); _episodeFileMover.MoveEpisodeFile(episodeFile, series);
_mediaFileService.Update(episodeFile); _mediaFileService.Update(episodeFile);
renamed.Add(episodeFile); renamed.Add(episodeFile);

View File

@ -54,7 +54,7 @@ public EpisodeFileMoveResult UpgradeEpisodeFile(EpisodeFile episodeFile, LocalEp
_mediaFileService.Delete(file, true); _mediaFileService.Delete(file, true);
} }
moveFileResult.Path = _episodeFileMover.MoveEpisodeFile(episodeFile, localEpisode); moveFileResult.EpisodeFile = _episodeFileMover.MoveEpisodeFile(episodeFile, localEpisode);
return moveFileResult; return moveFileResult;
} }