|
|
|
@ -180,7 +180,7 @@ public class PlexServerApiClient : IPlexServerApiClient |
|
|
|
{ |
|
|
|
{ |
|
|
|
return xmlService.GetSeasonChildren(seasonMetadataKey, skip, pageSize, token.AuthToken) |
|
|
|
return xmlService.GetSeasonChildren(seasonMetadataKey, skip, pageSize, token.AuthToken) |
|
|
|
.Map(r => r.Metadata.Filter(m => m.Media.Count > 0 && m.Media[0].Part.Count > 0)) |
|
|
|
.Map(r => r.Metadata.Filter(m => m.Media.Count > 0 && m.Media[0].Part.Count > 0)) |
|
|
|
.Map(list => list.Map(metadata => ProjectToEpisode(metadata, library.MediaSourceId))); |
|
|
|
.Map(list => list.Bind(metadata => ProjectToEpisodes(metadata, library.MediaSourceId))); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return GetPagedLibraryContents(connection, CountItems, GetItems); |
|
|
|
return GetPagedLibraryContents(connection, CountItems, GetItems); |
|
|
|
@ -814,9 +814,13 @@ public class PlexServerApiClient : IPlexServerApiClient |
|
|
|
return season; |
|
|
|
return season; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private PlexEpisode ProjectToEpisode(PlexXmlMetadataResponse response, int mediaSourceId) |
|
|
|
private IEnumerable<PlexEpisode> ProjectToEpisodes(PlexXmlMetadataResponse response, int mediaSourceId) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
var result = new List<PlexEpisode>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: actually use all media records
|
|
|
|
|
|
|
|
foreach (PlexMediaResponse<PlexXmlPartResponse> media in response.Media.HeadOrNone()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
PlexMediaResponse<PlexXmlPartResponse> media = response.Media.Head(); |
|
|
|
|
|
|
|
PlexXmlPartResponse part = media.Part.Head(); |
|
|
|
PlexXmlPartResponse part = media.Part.Head(); |
|
|
|
DateTime dateAdded = DateTimeOffset.FromUnixTimeSeconds(response.AddedAt).DateTime; |
|
|
|
DateTime dateAdded = DateTimeOffset.FromUnixTimeSeconds(response.AddedAt).DateTime; |
|
|
|
DateTime lastWriteTime = DateTimeOffset.FromUnixTimeSeconds(response.UpdatedAt).DateTime; |
|
|
|
DateTime lastWriteTime = DateTimeOffset.FromUnixTimeSeconds(response.UpdatedAt).DateTime; |
|
|
|
@ -852,7 +856,10 @@ public class PlexServerApiClient : IPlexServerApiClient |
|
|
|
TraktListItems = new List<TraktListItem>() |
|
|
|
TraktListItems = new List<TraktListItem>() |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
return episode; |
|
|
|
result.Add(episode); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private EpisodeMetadata ProjectToEpisodeMetadata(PlexMetadataResponse response, int mediaSourceId) |
|
|
|
private EpisodeMetadata ProjectToEpisodeMetadata(PlexMetadataResponse response, int mediaSourceId) |
|
|
|
|