mirror of https://github.com/Radarr/Radarr
Be more proper about Ensuring the folder exists
Still need a way to tell the UI model to update itself
This commit is contained in:
parent
72aac6e551
commit
7da2183080
|
@ -64,6 +64,11 @@ namespace NzbDrone.Common.Extensions
|
|||
return childPath.Substring(parentPath.Length).Trim(Path.DirectorySeparatorChar);
|
||||
}
|
||||
|
||||
public static string GetRelativePathWithoutChildCheck(this string parentPath, string childPath)
|
||||
{
|
||||
return childPath.Substring(parentPath.Length).Trim(Path.DirectorySeparatorChar);
|
||||
}
|
||||
|
||||
public static string GetParentPath(this string childPath)
|
||||
{
|
||||
var parentPath = childPath.TrimEnd('\\', '/');
|
||||
|
|
|
@ -60,7 +60,7 @@ namespace NzbDrone.Core.MediaFiles
|
|||
var newFileName = _buildFileNames.BuildFileName(movie, movieFile);
|
||||
var filePath = _buildFileNames.BuildFilePath(movie, newFileName, Path.GetExtension(movieFile.RelativePath));
|
||||
|
||||
filePath = EnsureMovieFolder(movieFile, movie, filePath);
|
||||
EnsureMovieFolder(movieFile, movie, filePath);
|
||||
|
||||
_logger.Debug("Renaming movie file: {0} to {1}", movieFile, filePath);
|
||||
|
||||
|
@ -72,7 +72,7 @@ namespace NzbDrone.Core.MediaFiles
|
|||
var newFileName = _buildFileNames.BuildFileName(localMovie.Movie, movieFile);
|
||||
var filePath = _buildFileNames.BuildFilePath(localMovie.Movie, newFileName, Path.GetExtension(localMovie.Path));
|
||||
|
||||
filePath = EnsureMovieFolder(movieFile, localMovie, filePath);
|
||||
EnsureMovieFolder(movieFile, localMovie, filePath);
|
||||
|
||||
_logger.Debug("Moving movie file: {0} to {1}", movieFile.Path, filePath);
|
||||
|
||||
|
@ -84,7 +84,7 @@ namespace NzbDrone.Core.MediaFiles
|
|||
var newFileName = _buildFileNames.BuildFileName(localMovie.Movie, movieFile);
|
||||
var filePath = _buildFileNames.BuildFilePath(localMovie.Movie, newFileName, Path.GetExtension(localMovie.Path));
|
||||
|
||||
filePath = EnsureMovieFolder(movieFile, localMovie, filePath);
|
||||
EnsureMovieFolder(movieFile, localMovie, filePath);
|
||||
|
||||
if (_configService.CopyUsingHardlinks)
|
||||
{
|
||||
|
@ -116,7 +116,7 @@ namespace NzbDrone.Core.MediaFiles
|
|||
|
||||
_diskTransferService.TransferFile(movieFilePath, destinationFilePath, mode);
|
||||
|
||||
movieFile.RelativePath = movie.Path.GetRelativePath(destinationFilePath);
|
||||
movieFile.RelativePath = movie.Path.GetRelativePathWithoutChildCheck(destinationFilePath);
|
||||
|
||||
_updateMovieFileService.ChangeFileDateForFile(movieFile, movie);
|
||||
|
||||
|
@ -135,17 +135,16 @@ namespace NzbDrone.Core.MediaFiles
|
|||
return movieFile;
|
||||
}
|
||||
|
||||
private string EnsureMovieFolder(MovieFile movieFile, LocalMovie localMovie, string filePath)
|
||||
private void EnsureMovieFolder(MovieFile movieFile, LocalMovie localMovie, string filePath)
|
||||
{
|
||||
return EnsureMovieFolder(movieFile, localMovie.Movie, filePath);
|
||||
EnsureMovieFolder(movieFile, localMovie.Movie, filePath);
|
||||
}
|
||||
|
||||
private string EnsureMovieFolder(MovieFile movieFile, Movie movie, string filePath)
|
||||
private void EnsureMovieFolder(MovieFile movieFile, Movie movie, string filePath)
|
||||
{
|
||||
var movieFolder = Path.GetDirectoryName(filePath);
|
||||
var rootFolder = new OsPath(movieFolder).Directory.FullPath;
|
||||
var fileName = Path.GetFileName(filePath);
|
||||
var newPath = "";
|
||||
|
||||
if (!_diskProvider.FolderExists(rootFolder))
|
||||
{
|
||||
|
@ -159,18 +158,6 @@ namespace NzbDrone.Core.MediaFiles
|
|||
{
|
||||
CreateFolder(movieFolder);
|
||||
newEvent.SeriesFolder = movieFolder;
|
||||
newPath = Path.Combine(rootFolder, movieFolder, fileName);
|
||||
changed = true;
|
||||
}
|
||||
|
||||
var newFolder = _buildFileNames.GetMovieFolder(movie);
|
||||
|
||||
if(_diskProvider.FolderExists(movieFolder) && movieFolder != newFolder)
|
||||
{
|
||||
newFolder = Path.Combine(rootFolder, newFolder);
|
||||
CreateFolder(newFolder);
|
||||
newEvent.SeriesFolder = newFolder;
|
||||
newPath = Path.Combine(newFolder, fileName);
|
||||
changed = true;
|
||||
}
|
||||
|
||||
|
@ -178,8 +165,6 @@ namespace NzbDrone.Core.MediaFiles
|
|||
{
|
||||
_eventAggregator.PublishEvent(newEvent);
|
||||
}
|
||||
|
||||
return newPath;
|
||||
}
|
||||
|
||||
private void CreateFolder(string directoryName)
|
||||
|
|
Loading…
Reference in New Issue