don't blow up if a single download is not trackable.

This commit is contained in:
Keivan Beigi 2014-10-13 13:43:36 -07:00
parent dcf434abd3
commit 907023ca10
1 changed files with 23 additions and 15 deletions

View File

@ -139,6 +139,8 @@ namespace NzbDrone.Core.Download
{ {
var downloadClientHistory = downloadClient.GetItems().ToList(); var downloadClientHistory = downloadClient.GetItems().ToList();
foreach (var downloadItem in downloadClientHistory) foreach (var downloadItem in downloadClientHistory)
{
try
{ {
var trackingId = String.Format("{0}-{1}", downloadClient.Definition.Id, downloadItem.DownloadClientId); var trackingId = String.Format("{0}-{1}", downloadClient.Definition.Id, downloadItem.DownloadClientId);
TrackedDownload trackedDownload; TrackedDownload trackedDownload;
@ -147,7 +149,8 @@ namespace NzbDrone.Core.Download
if (!oldTrackedDownloads.TryGetValue(trackingId, out trackedDownload)) if (!oldTrackedDownloads.TryGetValue(trackingId, out trackedDownload))
{ {
trackedDownload = GetTrackedDownload(trackingId, downloadClient.Definition.Id, downloadItem, grabbedHistory); trackedDownload = GetTrackedDownload(trackingId, downloadClient.Definition.Id, downloadItem,
grabbedHistory);
if (trackedDownload == null) continue; if (trackedDownload == null) continue;
@ -159,6 +162,11 @@ namespace NzbDrone.Core.Download
newTrackedDownloads[trackingId] = trackedDownload; newTrackedDownloads[trackingId] = trackedDownload;
} }
catch (Exception e)
{
_logger.ErrorException("An error occured while tracking download." + downloadItem.Title, e);
}
}
} }
foreach (var trackedDownload in oldTrackedDownloads.Values.Where(v => !newTrackedDownloads.ContainsKey(v.TrackingId))) foreach (var trackedDownload in oldTrackedDownloads.Values.Where(v => !newTrackedDownloads.ContainsKey(v.TrackingId)))