Prevent invalid response to get torrents from Deluge from throwing an error

This commit is contained in:
Mark McDowall 2014-12-15 20:46:55 -08:00
parent a5b09b8975
commit d651e6ac52
1 changed files with 12 additions and 3 deletions

View File

@ -66,7 +66,7 @@ namespace NzbDrone.Core.Download.Clients.Deluge
//var response = ProcessRequest<Dictionary<String, DelugeTorrent>>(settings, "core.get_torrents_status", filter, new String[0]);
var response = ProcessRequest<DelugeUpdateUIResult>(settings, "web.update_ui", requiredProperties, filter);
return response.Result.Torrents.Values.ToArray();
return GetTorrents(response.Result);
}
public DelugeTorrent[] GetTorrentsByLabel(String label, DelugeSettings settings)
@ -74,11 +74,10 @@ namespace NzbDrone.Core.Download.Clients.Deluge
var filter = new Dictionary<String, Object>();
filter.Add("label", label);
//var response = ProcessRequest<Dictionary<String, DelugeTorrent>>(settings, "core.get_torrents_status", filter, new String[0]);
var response = ProcessRequest<DelugeUpdateUIResult>(settings, "web.update_ui", requiredProperties, filter);
return response.Result.Torrents.Values.ToArray();
return GetTorrents(response.Result);
}
public String AddTorrentFromMagnet(String magnetLink, DelugeSettings settings)
@ -301,5 +300,15 @@ namespace NzbDrone.Core.Download.Clients.Deluge
{
return System.Threading.Interlocked.Increment(ref _callId);
}
private DelugeTorrent[] GetTorrents(DelugeUpdateUIResult result)
{
if (result.Torrents == null)
{
return new DelugeTorrent[0];
}
return result.Torrents.Values.ToArray();
}
}
}