stubbed out channel mappings

pull/702/head
Luke Pulverenti 9 years ago
parent faefbf36cc
commit 83105f5aae

@ -1,4 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using MediaBrowser.Model.Dto;
namespace MediaBrowser.Model.LiveTv namespace MediaBrowser.Model.LiveTv
{ {
@ -77,6 +78,7 @@ namespace MediaBrowser.Model.LiveTv
public string[] SportsCategories { get; set; } public string[] SportsCategories { get; set; }
public string[] KidsCategories { get; set; } public string[] KidsCategories { get; set; }
public string[] MovieCategories { get; set; } public string[] MovieCategories { get; set; }
public NameValuePair[] ChannelMappings { get; set; }
public ListingsProviderInfo() public ListingsProviderInfo()
{ {
@ -86,6 +88,7 @@ namespace MediaBrowser.Model.LiveTv
MovieCategories = new string[] { "movie" }; MovieCategories = new string[] { "movie" };
EnabledTuners = new string[] { }; EnabledTuners = new string[] { };
EnableAllTuners = true; EnableAllTuners = true;
ChannelMappings = new NameValuePair[] {};
} }
} }
} }

@ -625,7 +625,16 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
_logger.Debug("Getting programs for channel {0}-{1} from {2}-{3}", channel.Number, channel.Name, provider.Item1.Name, provider.Item2.ListingsId ?? string.Empty); _logger.Debug("Getting programs for channel {0}-{1} from {2}-{3}", channel.Number, channel.Name, provider.Item1.Name, provider.Item2.ListingsId ?? string.Empty);
var programs = await provider.Item1.GetProgramsAsync(provider.Item2, channel.Number, channel.Name, startDateUtc, endDateUtc, cancellationToken) var channelMappings = GetChannelMappings(provider.Item2);
var channelNumber = channel.Number;
string mappedChannelNumber;
if (channelMappings.TryGetValue(channelNumber, out mappedChannelNumber))
{
_logger.Debug("Found mapped channel on provider {0}. Tuner channel number: {1}, Mapped channel number: {2}", provider.Item1.Name, channelNumber, mappedChannelNumber);
channelNumber = mappedChannelNumber;
}
var programs = await provider.Item1.GetProgramsAsync(provider.Item2, channelNumber, channel.Name, startDateUtc, endDateUtc, cancellationToken)
.ConfigureAwait(false); .ConfigureAwait(false);
var list = programs.ToList(); var list = programs.ToList();
@ -647,6 +656,18 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
return new List<ProgramInfo>(); return new List<ProgramInfo>();
} }
private Dictionary<string, string> GetChannelMappings(ListingsProviderInfo info)
{
var dict = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
foreach (var mapping in info.ChannelMappings)
{
dict[mapping.Name] = mapping.Value;
}
return dict;
}
private List<Tuple<IListingsProvider, ListingsProviderInfo>> GetListingProviders() private List<Tuple<IListingsProvider, ListingsProviderInfo>> GetListingProviders()
{ {
return GetConfiguration().ListingProviders return GetConfiguration().ListingProviders

@ -17,14 +17,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
{ {
private readonly IServerConfigurationManager _config; private readonly IServerConfigurationManager _config;
private Dictionary<string, string> _channelMappings = new Dictionary<string, string>(){
{ "1", "UK_RT_2667" },
{ "2", "UK_RT_116" },
{ "3", "UK_RT_2118" },
{ "4", "UK_RT_2056" },
{ "5", "UK_RT_134" }
};
public XmlTvListingsProvider(IServerConfigurationManager config) public XmlTvListingsProvider(IServerConfigurationManager config)
{ {
_config = config; _config = config;
@ -51,11 +43,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
var reader = new XmlTvReader(info.Path, GetLanguage(), null); var reader = new XmlTvReader(info.Path, GetLanguage(), null);
string mappedChannel = channelNumber; string mappedChannel = channelNumber;
if (_channelMappings.ContainsKey(channelNumber))
{
mappedChannel = _channelMappings[channelNumber];
}
var results = reader.GetProgrammes(mappedChannel, startDateUtc, endDateUtc, cancellationToken); var results = reader.GetProgrammes(mappedChannel, startDateUtc, endDateUtc, cancellationToken);
return Task.FromResult(results.Select(p => new ProgramInfo() return Task.FromResult(results.Select(p => new ProgramInfo()
{ {

Loading…
Cancel
Save