Small tweaks based on feedback from @markus101

This commit is contained in:
Cyberlane 2013-11-08 19:03:01 +00:00 committed by Mark McDowall
parent 44c1bc632e
commit 26d3d9dcd6
3 changed files with 23 additions and 30 deletions

View File

@ -44,7 +44,7 @@ namespace NzbDrone.Core.Parser.Model
public bool IsAbsoluteNumbering() public bool IsAbsoluteNumbering()
{ {
return AbsoluteEpisodeNumbers.Length > 0; return AbsoluteEpisodeNumbers.Any();
} }
} }
} }

View File

@ -246,7 +246,7 @@ namespace NzbDrone.Core.Parser
{ {
SeasonNumber = seasons.First(), SeasonNumber = seasons.First(),
EpisodeNumbers = new int[0], EpisodeNumbers = new int[0],
AbsoluteEpisodeNumbers = new int[0] AbsoluteEpisodeNumbers = new int[0]
}; };
foreach (Match matchGroup in matchCollection) foreach (Match matchGroup in matchCollection)
@ -255,36 +255,31 @@ namespace NzbDrone.Core.Parser
var absoluteEpisodeCaptures = matchGroup.Groups["absoluteepisode"].Captures.Cast<Capture>().ToList(); var absoluteEpisodeCaptures = matchGroup.Groups["absoluteepisode"].Captures.Cast<Capture>().ToList();
//Allows use to return a list of 0 episodes (We can handle that as a full season release) //Allows use to return a list of 0 episodes (We can handle that as a full season release)
var eps = episodeCaptures.Any(); if (episodeCaptures.Any())
var epsAbs = absoluteEpisodeCaptures.Any();
if (eps || epsAbs)
{ {
if (eps) var first = Convert.ToInt32(episodeCaptures.First().Value);
var last = Convert.ToInt32(episodeCaptures.Last().Value);
if (first > last)
{ {
var first = Convert.ToInt32(episodeCaptures.First().Value); return null;
var last = Convert.ToInt32(episodeCaptures.Last().Value);
if (first > last)
{
return null;
}
var count = last - first + 1;
result.EpisodeNumbers = Enumerable.Range(first, count).ToArray();
} }
if (epsAbs)
var count = last - first + 1;
result.EpisodeNumbers = Enumerable.Range(first, count).ToArray();
}
else if (absoluteEpisodeCaptures.Any())
{
var first = Convert.ToInt32(absoluteEpisodeCaptures.First().Value);
var last = Convert.ToInt32(absoluteEpisodeCaptures.Last().Value);
if (first > last)
{ {
var first = Convert.ToInt32(absoluteEpisodeCaptures.First().Value); return null;
var last = Convert.ToInt32(absoluteEpisodeCaptures.Last().Value);
if (first > last)
{
return null;
}
var count = last - first + 1;
result.AbsoluteEpisodeNumbers = Enumerable.Range(first, count).ToArray();
} }
var count = last - first + 1;
result.AbsoluteEpisodeNumbers = Enumerable.Range(first, count).ToArray();
} }
else else
{ {

View File

@ -137,11 +137,9 @@ namespace NzbDrone.Core.Parser
if (episodeInfo != null) if (episodeInfo != null)
{ {
_logger.Info("Using absolute episode number {0} for: {1} - Scene: {2}x{3:00} - TVDB: {4}x{5:00}", _logger.Info("Using absolute episode number {0} for: {1} - TVDB: {2}x{3:00}",
absoluteEpisodeNumber, absoluteEpisodeNumber,
series.Title, series.Title,
episodeInfo.SceneSeasonNumber,
episodeInfo.SceneEpisodeNumber,
episodeInfo.SeasonNumber, episodeInfo.SeasonNumber,
episodeInfo.EpisodeNumber); episodeInfo.EpisodeNumber);
result.Add(episodeInfo); result.Add(episodeInfo);