Series metadata #150

Open
Kevinjil wants to merge 2 commits from feature/series-metadata into master

View File

@@ -35,7 +35,7 @@ namespace Jellyfin.Xtream;
/// The Xtream Codes API channel. /// The Xtream Codes API channel.
/// </summary> /// </summary>
/// <param name="logger">Instance of the <see cref="ILogger"/> interface.</param> /// <param name="logger">Instance of the <see cref="ILogger"/> interface.</param>
public class SeriesChannel(ILogger<SeriesChannel> logger) : IChannel public class SeriesChannel(ILogger<SeriesChannel> logger) : IChannel, IDisableMediaSourceDisplay
{ {
/// <inheritdoc /> /// <inheritdoc />
public string? Name => "Xtream Series"; public string? Name => "Xtream Series";
@@ -132,11 +132,12 @@ public class SeriesChannel(ILogger<SeriesChannel> logger) : IChannel
{ {
CommunityRating = (float)series.Rating5Based, CommunityRating = (float)series.Rating5Based,
DateModified = series.LastModified, DateModified = series.LastModified,
// FolderType = ChannelFolderType.Series, FolderType = ChannelFolderType.Series,
Genres = GetGenres(series.Genre), Genres = GetGenres(series.Genre),
Id = StreamService.ToGuid(StreamService.SeriesPrefix, series.CategoryId, series.SeriesId, 0).ToString(), Id = StreamService.ToGuid(StreamService.SeriesPrefix, series.CategoryId, series.SeriesId, 0).ToString(),
ImageUrl = series.Cover, ImageUrl = series.Cover,
Name = parsedName.Title, Name = parsedName.Title,
SeriesName = parsedName.Title,
People = GetPeople(series.Cast), People = GetPeople(series.Cast),
Tags = new List<string>(parsedName.Tags), Tags = new List<string>(parsedName.Tags),
Type = ChannelItemType.Folder, Type = ChannelItemType.Folder,
@@ -182,10 +183,10 @@ public class SeriesChannel(ILogger<SeriesChannel> logger) : IChannel
return new() return new()
{ {
DateCreated = created, DateCreated = created,
// FolderType = ChannelFolderType.Season, FolderType = ChannelFolderType.Season,
Genres = GetGenres(serie.Genre), Genres = GetGenres(serie.Genre),
Id = StreamService.ToGuid(StreamService.SeasonPrefix, serie.CategoryId, seriesId, seasonId).ToString(), Id = StreamService.ToGuid(StreamService.SeasonPrefix, serie.CategoryId, seriesId, seasonId).ToString(),
ImageUrl = cover, IndexNumber = seasonId,
Name = name, Name = name,
Overview = overview, Overview = overview,
People = GetPeople(serie.Cast), People = GetPeople(serie.Cast),
@@ -219,12 +220,13 @@ public class SeriesChannel(ILogger<SeriesChannel> logger) : IChannel
DateCreated = DateTimeOffset.FromUnixTimeSeconds(episode.Added).DateTime, DateCreated = DateTimeOffset.FromUnixTimeSeconds(episode.Added).DateTime,
Genres = GetGenres(serie.Genre), Genres = GetGenres(serie.Genre),
Id = StreamService.ToGuid(StreamService.EpisodePrefix, 0, 0, episode.EpisodeId).ToString(), Id = StreamService.ToGuid(StreamService.EpisodePrefix, 0, 0, episode.EpisodeId).ToString(),
ImageUrl = cover, IndexNumber = episode.EpisodeNum,
IsLiveStream = false, IsLiveStream = false,
MediaSources = sources, MediaSources = sources,
MediaType = ChannelMediaType.Video, MediaType = ChannelMediaType.Video,
Name = parsedName.Title, Name = $"Episode {episode.EpisodeNum}",
Overview = episode.Info?.Plot, Overview = episode.Info?.Plot,
ParentIndexNumber = episode.Season,
People = GetPeople(serie.Cast), People = GetPeople(serie.Cast),
Tags = new(parsedName.Tags), Tags = new(parsedName.Tags),
Type = ChannelItemType.Media, Type = ChannelItemType.Media,