Fixed: Re-processing imported download causing task to fail
Fixes #3501
This commit is contained in:
parent
438d9eb717
commit
bcc8b655f7
|
@ -105,33 +105,43 @@ namespace NzbDrone.Core.MediaFiles
|
||||||
|
|
||||||
public bool ShouldDeleteFolder(DirectoryInfo directoryInfo, Series series)
|
public bool ShouldDeleteFolder(DirectoryInfo directoryInfo, Series series)
|
||||||
{
|
{
|
||||||
var videoFiles = _diskScanService.GetVideoFiles(directoryInfo.FullName);
|
try
|
||||||
var rarFiles = _diskProvider.GetFiles(directoryInfo.FullName, SearchOption.AllDirectories).Where(f => Path.GetExtension(f).Equals(".rar", StringComparison.OrdinalIgnoreCase));
|
|
||||||
|
|
||||||
foreach (var videoFile in videoFiles)
|
|
||||||
{
|
{
|
||||||
var episodeParseResult = Parser.Parser.ParseTitle(Path.GetFileName(videoFile));
|
var videoFiles = _diskScanService.GetVideoFiles(directoryInfo.FullName);
|
||||||
|
var rarFiles = _diskProvider.GetFiles(directoryInfo.FullName, SearchOption.AllDirectories).Where(f =>
|
||||||
|
Path.GetExtension(f).Equals(".rar", StringComparison.OrdinalIgnoreCase));
|
||||||
|
|
||||||
if (episodeParseResult == null)
|
foreach (var videoFile in videoFiles)
|
||||||
{
|
{
|
||||||
_logger.Warn("Unable to parse file on import: [{0}]", videoFile);
|
var episodeParseResult = Parser.Parser.ParseTitle(Path.GetFileName(videoFile));
|
||||||
|
|
||||||
|
if (episodeParseResult == null)
|
||||||
|
{
|
||||||
|
_logger.Warn("Unable to parse file on import: [{0}]", videoFile);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_detectSample.IsSample(series, videoFile, episodeParseResult.IsPossibleSpecialEpisode) !=
|
||||||
|
DetectSampleResult.Sample)
|
||||||
|
{
|
||||||
|
_logger.Warn("Non-sample file detected: [{0}]", videoFile);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rarFiles.Any(f => _diskProvider.GetFileSize(f) > 10.Megabytes()))
|
||||||
|
{
|
||||||
|
_logger.Warn("RAR file detected, will require manual cleanup");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_detectSample.IsSample(series, videoFile, episodeParseResult.IsPossibleSpecialEpisode) != DetectSampleResult.Sample)
|
return true;
|
||||||
{
|
|
||||||
_logger.Warn("Non-sample file detected: [{0}]", videoFile);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
catch (DirectoryNotFoundException e)
|
||||||
if (rarFiles.Any(f => _diskProvider.GetFileSize(f) > 10.Megabytes()))
|
|
||||||
{
|
{
|
||||||
_logger.Warn("RAR file detected, will require manual cleanup");
|
_logger.Debug(e, "Folder {0} has already been removed", directoryInfo.FullName);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<ImportResult> ProcessFolder(DirectoryInfo directoryInfo, ImportMode importMode, DownloadClientItem downloadClientItem)
|
private List<ImportResult> ProcessFolder(DirectoryInfo directoryInfo, ImportMode importMode, DownloadClientItem downloadClientItem)
|
||||||
|
|
Loading…
Reference in New Issue