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.Providers;
|
||||||
using NzbDrone.Core.Test.Framework;
|
using NzbDrone.Core.Test.Framework;
|
||||||
using NzbDrone.Core.Tv;
|
using NzbDrone.Core.Tv;
|
||||||
|
using NzbDrone.Test.Common;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Test.MediaFileTests.EpisodeImportTests
|
namespace NzbDrone.Core.Test.MediaFileTests.EpisodeImportTests
|
||||||
{
|
{
|
||||||
|
@ -120,10 +121,27 @@ namespace NzbDrone.Core.Test.MediaFileTests.EpisodeImportTests
|
||||||
|
|
||||||
Subject.IsSatisfiedBy(_localEpisode).Should().BeTrue();
|
Subject.IsSatisfiedBy(_localEpisode).Should().BeTrue();
|
||||||
|
|
||||||
|
|
||||||
Mocker.GetMock<IVideoFileInfoReader>().Verify(c => c.GetRunTime(It.IsAny<string>()), Times.Never());
|
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.Parser.Model;
|
||||||
using NzbDrone.Core.Providers;
|
using NzbDrone.Core.Providers;
|
||||||
using NzbDrone.Core.Tv;
|
using NzbDrone.Core.Tv;
|
||||||
|
@ -41,6 +43,12 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport.Specifications
|
||||||
return true;
|
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)
|
if (localEpisode.Size > SampleSizeLimit)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
@ -48,6 +56,12 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport.Specifications
|
||||||
|
|
||||||
var runTime = _videoFileInfoReader.GetRunTime(localEpisode.Path);
|
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)
|
if (runTime.TotalMinutes < 3)
|
||||||
{
|
{
|
||||||
_logger.Trace("[{0}] appears to be a sample. Size: {1} Runtime: {2}", localEpisode.Path, localEpisode.Size, runTime);
|
_logger.Trace("[{0}] appears to be a sample. Size: {1} Runtime: {2}", localEpisode.Path, localEpisode.Size, runTime);
|
||||||
|
|
Loading…
Reference in New Issue