Added code to GetChannels and fixed IsPremiere to use the new XmlTvPremiere object

This commit is contained in:
Alex Stevens 2016-06-08 10:43:18 +01:00
parent cc173bfc28
commit 2d29a77dce

View File

@ -66,7 +66,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
return cacheFile;
}
// TODO: Should this method be async?
public async Task<IEnumerable<ProgramInfo>> GetProgramsAsync(ListingsProviderInfo info, string channelNumber, string channelName, DateTime startDateUtc, DateTime endDateUtc, CancellationToken cancellationToken)
{
var path = await GetXml(info.Path, cancellationToken).ConfigureAwait(false);
@ -89,7 +88,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
SeasonNumber = p.Episode == null ? null : p.Episode.Series,
IsSeries = p.IsSeries,
IsRepeat = p.IsRepeat,
// IsPremiere = !p.PreviouslyShown.HasValue,
IsPremiere = p.Premiere != null,
IsKids = p.Categories.Any(c => info.KidsCategories.Contains(c, StringComparer.InvariantCultureIgnoreCase)),
IsMovie = p.Categories.Any(c => info.MovieCategories.Contains(c, StringComparer.InvariantCultureIgnoreCase)),
IsNews = p.Categories.Any(c => info.NewsCategories.Contains(c, StringComparer.InvariantCultureIgnoreCase)),
@ -147,7 +146,17 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
public async Task<List<ChannelInfo>> GetChannels(ListingsProviderInfo info, CancellationToken cancellationToken)
{
return new List<ChannelInfo>();
// In theory this should never be called because there is always only one lineup
var reader = new XmlTvReader(info.Path, GetLanguage(), null);
var results = reader.GetChannels();
// Should this method be async?
return results.Select(c => new ChannelInfo()
{
Id = c.Id,
Name = c.DisplayName,
ImageUrl = c.Icon != null && !String.IsNullOrEmpty(c.Icon.Source) ? c.Icon.Source : null
}).ToList();
}
}
}