From 3e96fe4a726f68cf21814ced63b3098663b7702a Mon Sep 17 00:00:00 2001 From: hatharry Date: Mon, 18 Feb 2019 23:12:34 +1300 Subject: [PATCH] Fixed: Emby library update (#3318) Fixes: #3158 --- .../Notifications/MediaBrowser/MediaBrowser.cs | 4 ++-- .../MediaBrowser/MediaBrowserProxy.cs | 18 +++++++++++++++--- .../MediaBrowser/MediaBrowserService.cs | 6 +++--- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/NzbDrone.Core/Notifications/MediaBrowser/MediaBrowser.cs b/src/NzbDrone.Core/Notifications/MediaBrowser/MediaBrowser.cs index 19a023d41..5e5b92a6c 100644 --- a/src/NzbDrone.Core/Notifications/MediaBrowser/MediaBrowser.cs +++ b/src/NzbDrone.Core/Notifications/MediaBrowser/MediaBrowser.cs @@ -37,7 +37,7 @@ namespace NzbDrone.Core.Notifications.MediaBrowser if (Settings.UpdateLibrary) { - _mediaBrowserService.UpdateMovies(Settings, message.Movie); + _mediaBrowserService.UpdateMovies(Settings, message.Movie, "Created"); } } @@ -45,7 +45,7 @@ namespace NzbDrone.Core.Notifications.MediaBrowser { if (Settings.UpdateLibrary) { - _mediaBrowserService.UpdateMovies(Settings, movie); + _mediaBrowserService.UpdateMovies(Settings, movie, "Modified"); } } diff --git a/src/NzbDrone.Core/Notifications/MediaBrowser/MediaBrowserProxy.cs b/src/NzbDrone.Core/Notifications/MediaBrowser/MediaBrowserProxy.cs index 79e8e8c9c..88002ea33 100644 --- a/src/NzbDrone.Core/Notifications/MediaBrowser/MediaBrowserProxy.cs +++ b/src/NzbDrone.Core/Notifications/MediaBrowser/MediaBrowserProxy.cs @@ -31,11 +31,23 @@ namespace NzbDrone.Core.Notifications.MediaBrowser ProcessRequest(request, settings); } - public void UpdateMovies(MediaBrowserSettings settings, string imdbid) + public void UpdateMovies(MediaBrowserSettings settings, string moviePath, string updateType) { - var path = string.Format("/Library/Movies/Updated?ImdbId={0}", imdbid); + var path = "/Library/Media/Updated"; var request = BuildRequest(path, settings); - request.Headers.Add("Content-Length", "0"); + request.Headers.ContentType = "application/json"; + + request.SetContent(new + { + Updates = new[] + { + new + { + Path = moviePath, + UpdateType = updateType + } + } + }.ToJson()); ProcessRequest(request, settings); } diff --git a/src/NzbDrone.Core/Notifications/MediaBrowser/MediaBrowserService.cs b/src/NzbDrone.Core/Notifications/MediaBrowser/MediaBrowserService.cs index 9d39ff57f..d1fc67ca9 100644 --- a/src/NzbDrone.Core/Notifications/MediaBrowser/MediaBrowserService.cs +++ b/src/NzbDrone.Core/Notifications/MediaBrowser/MediaBrowserService.cs @@ -10,7 +10,7 @@ namespace NzbDrone.Core.Notifications.MediaBrowser public interface IMediaBrowserService { void Notify(MediaBrowserSettings settings, string title, string message); - void UpdateMovies(MediaBrowserSettings settings, Movie movie); + void UpdateMovies(MediaBrowserSettings settings, Movie movie, string updateType); ValidationFailure Test(MediaBrowserSettings settings); } @@ -30,9 +30,9 @@ namespace NzbDrone.Core.Notifications.MediaBrowser _proxy.Notify(settings, title, message); } - public void UpdateMovies(MediaBrowserSettings settings, Movie movie) + public void UpdateMovies(MediaBrowserSettings settings, Movie movie, string updateType) { - _proxy.UpdateMovies(settings, movie.ImdbId); + _proxy.UpdateMovies(settings, movie.Path, updateType); }