|
|
|
@ -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();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|