Skip sample check for .flv files, also log error for runtime 0

This commit is contained in:
Mark McDowall 2013-08-08 18:50:11 -07:00
parent 470182e397
commit 47e7805cf9
2 changed files with 34 additions and 2 deletions

View File

@ -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());
}
} }
} }

View File

@ -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);