1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-11-24 19:52:39 +01:00

Fixed: Plex Library Updates

Closes #4914
This commit is contained in:
Mark McDowall 2022-04-11 19:34:02 -07:00
parent 481345226a
commit bd70fa5410
3 changed files with 48 additions and 16 deletions

View File

@ -3,6 +3,7 @@ using System.Linq;
using System.Net; using System.Net;
using NzbDrone.Common.Serializer; using NzbDrone.Common.Serializer;
using NzbDrone.Core.ImportLists.Exceptions; using NzbDrone.Core.ImportLists.Exceptions;
using NzbDrone.Core.Notifications.Plex.PlexTv;
using NzbDrone.Core.Notifications.Plex.Server; using NzbDrone.Core.Notifications.Plex.Server;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
@ -14,7 +15,7 @@ namespace NzbDrone.Core.ImportLists.Plex
public virtual IList<ImportListItemInfo> ParseResponse(ImportListResponse importResponse) public virtual IList<ImportListItemInfo> ParseResponse(ImportListResponse importResponse)
{ {
List<PlexSectionItem> items; List<PlexWatchlistItem> items;
_importResponse = importResponse; _importResponse = importResponse;
@ -25,7 +26,7 @@ namespace NzbDrone.Core.ImportLists.Plex
return series; return series;
} }
items = Json.Deserialize<PlexResponse<PlexSectionResponse>>(_importResponse.Content) items = Json.Deserialize<PlexResponse<PlexWatchlistRespone>>(_importResponse.Content)
.MediaContainer .MediaContainer
.Items; .Items;

View File

@ -0,0 +1,39 @@
using System.Collections.Generic;
using Newtonsoft.Json;
namespace NzbDrone.Core.Notifications.Plex.PlexTv
{
public class PlexSectionItemGuid
{
public string Id { get; set; }
}
public class PlexWatchlistRespone
{
[JsonProperty("Metadata")]
public List<PlexWatchlistItem> Items { get; set; }
public PlexWatchlistRespone()
{
Items = new List<PlexWatchlistItem>();
}
}
public class PlexWatchlistItem
{
public PlexWatchlistItem()
{
Guids = new List<PlexSectionItemGuid>();
}
[JsonProperty("ratingKey")]
public string Id { get; set; }
public string Title { get; set; }
public int Year { get; set; }
[JsonProperty("Guid")]
public List<PlexSectionItemGuid> Guids { get; set; }
}
}

View File

@ -3,27 +3,14 @@ using Newtonsoft.Json;
namespace NzbDrone.Core.Notifications.Plex.Server namespace NzbDrone.Core.Notifications.Plex.Server
{ {
public class PlexSectionItemGuid
{
public string Id { get; set; }
}
public class PlexSectionItem public class PlexSectionItem
{ {
public PlexSectionItem()
{
Guids = new List<PlexSectionItemGuid>();
}
[JsonProperty("ratingKey")] [JsonProperty("ratingKey")]
public string Id { get; set; } public string Id { get; set; }
public string Title { get; set; } public string Title { get; set; }
public int Year { get; set; } public int Year { get; set; }
public string Guid { get; set; }
[JsonProperty("Guid")]
public List<PlexSectionItemGuid> Guids { get; set; }
} }
public class PlexSectionResponse public class PlexSectionResponse
@ -41,5 +28,10 @@ namespace NzbDrone.Core.Notifications.Plex.Server
{ {
[JsonProperty("_children")] [JsonProperty("_children")]
public List<PlexSectionItem> Items { get; set; } public List<PlexSectionItem> Items { get; set; }
public PlexSectionResponseLegacy()
{
Items = new List<PlexSectionItem>();
}
} }
} }