Skip sample check for .flv files, also log error for runtime 0
This commit is contained in:
parent
470182e397
commit
47e7805cf9
|
@ -9,6 +9,7 @@ using NzbDrone.Core.Parser.Model;
|
|||
using NzbDrone.Core.Providers;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using NzbDrone.Core.Tv;
|
||||
using NzbDrone.Test.Common;
|
||||
|
||||
namespace NzbDrone.Core.Test.MediaFileTests.EpisodeImportTests
|
||||
{
|
||||
|
@ -120,10 +121,27 @@ namespace NzbDrone.Core.Test.MediaFileTests.EpisodeImportTests
|
|||
|
||||
Subject.IsSatisfiedBy(_localEpisode).Should().BeTrue();
|
||||
|
||||
|
||||
Mocker.GetMock<IVideoFileInfoReader>().Verify(c => c.GetRunTime(It.IsAny<string>()), Times.Never());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_log_error_if_run_time_is_0_and_under_sample_size()
|
||||
{
|
||||
WithFileSize(40.Megabytes());
|
||||
WithLength(0);
|
||||
|
||||
Subject.IsSatisfiedBy(_localEpisode).Should().BeFalse();
|
||||
ExceptionVerification.ExpectedErrors(1);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_skip_check_for_flv_file()
|
||||
{
|
||||
_localEpisode.Path = @"C:\Test\some.show.s01e01.flv";
|
||||
|
||||
Subject.IsSatisfiedBy(_localEpisode).Should().BeTrue();
|
||||
|
||||
Mocker.GetMock<IVideoFileInfoReader>().Verify(c => c.GetRunTime(It.IsAny<string>()), Times.Never());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
using NLog;
|
||||
using System;
|
||||
using System.IO;
|
||||
using NLog;
|
||||
using NzbDrone.Core.Parser.Model;
|
||||
using NzbDrone.Core.Providers;
|
||||
using NzbDrone.Core.Tv;
|
||||
|
@ -41,6 +43,12 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport.Specifications
|
|||
return true;
|
||||
}
|
||||
|
||||
if (Path.GetExtension(localEpisode.Path).Equals(".flv", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
_logger.Trace("Skipping smaple check for .flv file");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (localEpisode.Size > SampleSizeLimit)
|
||||
{
|
||||
return true;
|
||||
|
@ -48,6 +56,12 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport.Specifications
|
|||
|
||||
var runTime = _videoFileInfoReader.GetRunTime(localEpisode.Path);
|
||||
|
||||
if (runTime.TotalMinutes.Equals(0))
|
||||
{
|
||||
_logger.Error("[{0}] has a runtime of 0, is it a valid video file?", localEpisode);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (runTime.TotalMinutes < 3)
|
||||
{
|
||||
_logger.Trace("[{0}] appears to be a sample. Size: {1} Runtime: {2}", localEpisode.Path, localEpisode.Size, runTime);
|
||||
|
|
Loading…
Reference in New Issue