Exceptions when checking SAB's queue are now caught.

pull/4/head
Mark McDowall 13 years ago
parent c0d1d2c502
commit aec59de6b6

@ -46,26 +46,35 @@ namespace NzbDrone.Core.Providers.DownloadClients
public virtual bool IsInQueue(EpisodeParseResult newParseResult) public virtual bool IsInQueue(EpisodeParseResult newParseResult)
{ {
var queue = GetQueue().Where(c => c.ParseResult != null); try
{
var queue = GetQueue().Where(c => c.ParseResult != null);
var matchigTitle = queue.Where(q => String.Equals(q.ParseResult.CleanTitle, newParseResult.Series.CleanTitle, StringComparison.InvariantCultureIgnoreCase)); var matchigTitle = queue.Where(q => String.Equals(q.ParseResult.CleanTitle, newParseResult.Series.CleanTitle, StringComparison.InvariantCultureIgnoreCase));
var matchingTitleWithQuality = matchigTitle.Where(q => q.ParseResult.Quality >= newParseResult.Quality); var matchingTitleWithQuality = matchigTitle.Where(q => q.ParseResult.Quality >= newParseResult.Quality);
if (newParseResult.Series.IsDaily) if (newParseResult.Series.IsDaily)
{ {
return matchingTitleWithQuality.Any(q => q.ParseResult.AirDate.Value.Date == newParseResult.AirDate.Value.Date); return matchingTitleWithQuality.Any(q => q.ParseResult.AirDate.Value.Date == newParseResult.AirDate.Value.Date);
} }
var matchingSeason = matchingTitleWithQuality.Where(q => q.ParseResult.SeasonNumber == newParseResult.SeasonNumber); var matchingSeason = matchingTitleWithQuality.Where(q => q.ParseResult.SeasonNumber == newParseResult.SeasonNumber);
if (newParseResult.FullSeason) if (newParseResult.FullSeason)
{ {
return matchingSeason.Any(); return matchingSeason.Any();
}
return matchingSeason.Any(q => q.ParseResult.EpisodeNumbers != null && q.ParseResult.EpisodeNumbers.Any(e => newParseResult.EpisodeNumbers.Contains(e)));
} }
return matchingSeason.Any(q => q.ParseResult.EpisodeNumbers != null && q.ParseResult.EpisodeNumbers.Any(e => newParseResult.EpisodeNumbers.Contains(e))); catch (Exception ex)
{
logger.WarnException("Unable to connect to SABnzbd to check queue.", ex);
return false;
}
} }
public virtual bool DownloadNzb(string url, string title) public virtual bool DownloadNzb(string url, string title)

Loading…
Cancel
Save