Added some logging and error handling to XbmcProvider.

Increased Json timeout to 20 seconds.
pull/4/head
Mark McDowall 13 years ago
parent 62da0568c0
commit a3f2ef6ec6

@ -89,7 +89,7 @@ namespace NzbDrone.Core.Providers.Core
request.Method = "POST";
request.Credentials = new NetworkCredential(username, password);
request.ContentType = "application/json";
request.Timeout = 10000;
request.Timeout = 20000;
request.KeepAlive = false;
//Used to hold the JSON response

@ -110,14 +110,22 @@ namespace NzbDrone.Core.Providers
{
//Use Json!
var xbmcShows = GetTvShowsJson(host, username, password);
var path = xbmcShows.Where(s => s.ImdbNumber == series.SeriesId || s.Label == series.Title).FirstOrDefault();
TvShow path = null;
//Log if response is null, otherwise try to find XBMC's path for series
if (xbmcShows == null)
Logger.Trace("Failed to get TV Shows from XBMC");
else
path = xbmcShows.FirstOrDefault(s => s.ImdbNumber == series.SeriesId || s.Label == series.Title);
var hostOnly = GetHostWithoutPort(host);
if (path != null)
{
Logger.Trace("Updating series [{0}] on XBMC host: {1}", series.Title, host);
var command = String.Format("ExecBuiltIn(UpdateLibrary(video,{0}))", path.File);
Logger.Trace("Updating series [{0}] (Path: {1}) on XBMC host: {2}", series.Title, path.File, host);
var command = String.Format("ExecBuiltIn(UpdateLibrary(video, {0}))", path.File);
_eventClientProvider.SendAction(hostOnly, ActionType.ExecBuiltin, command);
}

Loading…
Cancel
Save