mirror of
https://github.com/Radarr/Radarr.git
synced 2025-04-24 06:27:08 -04:00
Check if root folder is not empty on files import
This commit is contained in:
parent
40551ba5a3
commit
9a5f4bef63
2 changed files with 14 additions and 9 deletions
|
@ -48,6 +48,11 @@ namespace NzbDrone.Core.Test.MediaFiles.MovieFileMovingServiceTests
|
|||
.Returns(@"C:\Test\Movies\Movie\File Name.avi".AsOsAgnostic());
|
||||
|
||||
var rootFolder = @"C:\Test\Movies\".AsOsAgnostic();
|
||||
|
||||
Mocker.GetMock<IRootFolderService>()
|
||||
.Setup(s => s.GetBestRootFolderPath(It.IsAny<string>(), null))
|
||||
.Returns(rootFolder);
|
||||
|
||||
Mocker.GetMock<IDiskProvider>()
|
||||
.Setup(s => s.FolderExists(rootFolder))
|
||||
.Returns(true);
|
||||
|
@ -55,10 +60,6 @@ namespace NzbDrone.Core.Test.MediaFiles.MovieFileMovingServiceTests
|
|||
Mocker.GetMock<IDiskProvider>()
|
||||
.Setup(s => s.FileExists(It.IsAny<string>()))
|
||||
.Returns(true);
|
||||
|
||||
Mocker.GetMock<IRootFolderService>()
|
||||
.Setup(s => s.GetBestRootFolderPath(It.IsAny<string>(), null))
|
||||
.Returns(rootFolder);
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
|
|
@ -30,9 +30,9 @@ namespace NzbDrone.Core.MediaFiles
|
|||
private readonly IDiskProvider _diskProvider;
|
||||
private readonly IMediaFileAttributeService _mediaFileAttributeService;
|
||||
private readonly IImportScript _scriptImportDecider;
|
||||
private readonly IRootFolderService _rootFolderService;
|
||||
private readonly IEventAggregator _eventAggregator;
|
||||
private readonly IConfigService _configService;
|
||||
private readonly IRootFolderService _rootFolderService;
|
||||
private readonly Logger _logger;
|
||||
|
||||
public MovieFileMovingService(IUpdateMovieFileService updateMovieFileService,
|
||||
|
@ -41,9 +41,9 @@ namespace NzbDrone.Core.MediaFiles
|
|||
IDiskProvider diskProvider,
|
||||
IMediaFileAttributeService mediaFileAttributeService,
|
||||
IImportScript scriptImportDecider,
|
||||
IRootFolderService rootFolderService,
|
||||
IEventAggregator eventAggregator,
|
||||
IConfigService configService,
|
||||
IRootFolderService rootFolderService,
|
||||
Logger logger)
|
||||
{
|
||||
_updateMovieFileService = updateMovieFileService;
|
||||
|
@ -52,9 +52,9 @@ namespace NzbDrone.Core.MediaFiles
|
|||
_diskProvider = diskProvider;
|
||||
_mediaFileAttributeService = mediaFileAttributeService;
|
||||
_scriptImportDecider = scriptImportDecider;
|
||||
_rootFolderService = rootFolderService;
|
||||
_eventAggregator = eventAggregator;
|
||||
_configService = configService;
|
||||
_rootFolderService = rootFolderService;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
|
@ -167,13 +167,17 @@ namespace NzbDrone.Core.MediaFiles
|
|||
private void EnsureMovieFolder(MovieFile movieFile, Movie movie, string filePath)
|
||||
{
|
||||
var movieFileFolder = Path.GetDirectoryName(filePath);
|
||||
|
||||
var movieFolder = movie.Path;
|
||||
var rootFolder = _rootFolderService.GetBestRootFolderPath(movieFolder);
|
||||
|
||||
if (rootFolder.IsNullOrWhiteSpace())
|
||||
{
|
||||
throw new RootFolderNotFoundException($"Root folder was not found, '{movieFolder}' is not a subdirectory of a defined root folder.");
|
||||
}
|
||||
|
||||
if (!_diskProvider.FolderExists(rootFolder))
|
||||
{
|
||||
throw new RootFolderNotFoundException(string.Format("Root folder '{0}' was not found.", rootFolder));
|
||||
throw new RootFolderNotFoundException($"Root folder '{rootFolder}' was not found.");
|
||||
}
|
||||
|
||||
var changed = false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue