Fixed: Use runtime of series for sample checks instead of constant

pull/4/head
Mark McDowall 10 years ago
parent 16156611db
commit f8c002db9f

@ -24,6 +24,7 @@ namespace NzbDrone.Core.Test.MediaFiles.EpisodeImport
{
_series = Builder<Series>.CreateNew()
.With(s => s.SeriesType = SeriesTypes.Standard)
.With(s => s.Runtime = 30)
.Build();
var episodes = Builder<Episode>.CreateListOfSize(1)
@ -106,7 +107,7 @@ namespace NzbDrone.Core.Test.MediaFiles.EpisodeImport
[Test]
public void should_return_false_if_runtime_greater_than_than_minimum()
{
GivenRuntime(120);
GivenRuntime(600);
ShouldBeFalse();
}

@ -59,6 +59,7 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport
try
{
var runTime = _videoFileInfoReader.GetRunTime(path);
var minimumRuntime = GetMinimumAllowedRuntime(series);
if (runTime.TotalMinutes.Equals(0))
{
@ -66,9 +67,9 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport
return true;
}
if (runTime.TotalSeconds < 90)
if (runTime.TotalSeconds < minimumRuntime)
{
_logger.Debug("[{0}] appears to be a sample. Size: {1} Runtime: {2}", path, size, runTime);
_logger.Debug("[{0}] appears to be a sample. Runtime: {1} seconds. Expected at least: {1} seconds", path, runTime, minimumRuntime);
return true;
}
}
@ -103,5 +104,23 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport
return false;
}
private int GetMinimumAllowedRuntime(Series series)
{
//Webisodes - 90 seconds
if (series.Runtime <= 5)
{
return 90;
}
//30 minute episodes - 5 minutes
if (series.Runtime <= 30)
{
return 300;
}
//60 minute episodes - 10 minutes
return 600;
}
}
}

@ -1,11 +1,5 @@
using System;
using System.Collections.Generic;
using System.IO;
using NLog;
using NzbDrone.Core.MediaFiles.MediaInfo;
using NLog;
using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.Qualities;
using NzbDrone.Core.Tv;
namespace NzbDrone.Core.MediaFiles.EpisodeImport.Specifications
{

Loading…
Cancel
Save