From 502417872493f4019477009e2e6454f88f9d89b3 Mon Sep 17 00:00:00 2001 From: tidusjar Date: Thu, 28 Jul 2016 13:45:57 +0100 Subject: [PATCH] Work around the sonarr bug #254 --- PlexRequests.Api.Interfaces/ISonarrApi.cs | 2 +- PlexRequests.Api/SonarrApi.cs | 21 +++++++++++++++++++++ PlexRequests.UI/Helpers/TvSender.cs | 3 +++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/PlexRequests.Api.Interfaces/ISonarrApi.cs b/PlexRequests.Api.Interfaces/ISonarrApi.cs index 27e9637a0..a0843ec4f 100644 --- a/PlexRequests.Api.Interfaces/ISonarrApi.cs +++ b/PlexRequests.Api.Interfaces/ISonarrApi.cs @@ -46,6 +46,6 @@ namespace PlexRequests.Api.Interfaces SonarrEpisode GetEpisode(string episodeId, string apiKey, Uri baseUrl); SonarrEpisode UpdateEpisode(SonarrEpisode episodeInfo, string apiKey, Uri baseUrl); SonarrAddEpisodeResult SearchForEpisodes(int[] episodeIds, string apiKey, Uri baseUrl); - + Series UpdateSeries(Series series, string apiKey, Uri baseUrl); } } \ No newline at end of file diff --git a/PlexRequests.Api/SonarrApi.cs b/PlexRequests.Api/SonarrApi.cs index 903df4d87..ad63e7b46 100644 --- a/PlexRequests.Api/SonarrApi.cs +++ b/PlexRequests.Api/SonarrApi.cs @@ -300,5 +300,26 @@ namespace PlexRequests.Api return null; } } + + public Series UpdateSeries(Series series, string apiKey, Uri baseUrl) + { + var request = new RestRequest { Resource = "/api/Series", Method = Method.PUT }; + request.AddHeader("X-Api-Key", apiKey); + + request.AddJsonBody(series); + + try + { + var policy = RetryHandler.RetryAndWaitPolicy((exception, timespan) => + Log.Error(exception, "Exception when calling UpdateSeries for Sonarr, Retrying {0}", timespan)); + + return policy.Execute(() => Api.ExecuteJson(request, baseUrl)); + } + catch (Exception e) + { + Log.Error(e, "There has been an API exception when put the Sonarr UpdateSeries"); + return null; + } + } } } \ No newline at end of file diff --git a/PlexRequests.UI/Helpers/TvSender.cs b/PlexRequests.UI/Helpers/TvSender.cs index d2e4b6237..5bb685be9 100644 --- a/PlexRequests.UI/Helpers/TvSender.cs +++ b/PlexRequests.UI/Helpers/TvSender.cs @@ -108,6 +108,9 @@ namespace PlexRequests.UI.Helpers } } sw.Stop(); + + // Update the series, Since we cannot add as unmonitoed due to the following bug: https://github.com/Sonarr/Sonarr/issues/1404 + SonarrApi.UpdateSeries(series, sonarrSettings.ApiKey, sonarrSettings.FullUri); } // We now have the series in Sonarr