1
0
Fork 0
mirror of https://github.com/lidarr/Lidarr synced 2024-12-25 17:17:02 +00:00

unknow quality is rejected by AcceptableSizeSpecification

This commit is contained in:
kay.one 2013-06-06 16:05:06 -07:00
parent 5d563f041e
commit a5be71fd8c
4 changed files with 29 additions and 8 deletions

View file

@ -379,5 +379,20 @@ public void should_return_true_if_RAWHD()
Subject.IsSatisfiedBy(parseResult).Should().BeTrue();
}
[Test]
public void should_always_return_false_if_unknow()
{
var parseResult = new RemoteEpisode
{
ParsedEpisodeInfo = new ParsedEpisodeInfo { Quality = new QualityModel(Quality.Unknown, false) },
};
Subject.IsSatisfiedBy(parseResult).Should().BeFalse();
Mocker.GetMock<IQualitySizeService>().Verify(c=>c.Get(It.IsAny<int>()),Times.Never());
}
}
}

View file

@ -26,15 +26,24 @@ public string RejectionReason
public virtual bool IsSatisfiedBy(RemoteEpisode subject)
{
_logger.Trace("Beginning size check for: {0}", subject);
if (subject.ParsedEpisodeInfo.Quality.Quality == Quality.RAWHD)
var quality = subject.ParsedEpisodeInfo.Quality.Quality;
if (quality == Quality.RAWHD)
{
_logger.Trace("Raw-HD release found, skipping size check.");
return true;
}
var qualityType = _qualityTypeProvider.Get((int)subject.ParsedEpisodeInfo.Quality.Quality);
if (quality == Quality.Unknown)
{
_logger.Trace("Unknown quality. skipping size check.");
return false;
}
var qualityType = _qualityTypeProvider.Get(quality.Id);
if (qualityType.MaxSize == 0)
{
@ -43,12 +52,9 @@ public virtual bool IsSatisfiedBy(RemoteEpisode subject)
}
var maxSize = qualityType.MaxSize.Megabytes();
var series = subject.Series;
//Multiply maxSize by Series.Runtime
maxSize = maxSize * series.Runtime;
maxSize = maxSize * subject.Episodes.Count;
maxSize = maxSize * subject.Series.Runtime * subject.Episodes.Count;
//Check if there was only one episode parsed
//and it is the first or last episode of the season

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -1,6 +1,6 @@
"use strict";
define(['app'], function () {
NzbDrone.MainMenuView = Backbone.Marionette.ItemView.extend({
var MainMenuView = Backbone.Marionette.ItemView.extend({
events: {
'click a': 'onClick'
},
@ -37,6 +37,6 @@ define(['app'], function () {
}
});
return new MainMenuView();
return new NzbDrone.MainMenuView();
});