|
@@ -519,14 +519,6 @@ namespace MediaBrowser.Api.LiveTv
|
|
public string ProviderName { get; set; }
|
|
public string ProviderName { get; set; }
|
|
}
|
|
}
|
|
|
|
|
|
- public class TunerChannelMapping
|
|
|
|
- {
|
|
|
|
- public string Name { get; set; }
|
|
|
|
- public string Number { get; set; }
|
|
|
|
- public string ProviderChannelNumber { get; set; }
|
|
|
|
- public string ProviderChannelName { get; set; }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
[Route("/LiveTv/Registration", "GET")]
|
|
[Route("/LiveTv/Registration", "GET")]
|
|
[Authenticated]
|
|
[Authenticated]
|
|
public class GetLiveTvRegistrationInfo : IReturn<MBRegistrationRecord>
|
|
public class GetLiveTvRegistrationInfo : IReturn<MBRegistrationRecord>
|
|
@@ -595,36 +587,7 @@ namespace MediaBrowser.Api.LiveTv
|
|
|
|
|
|
public async Task<object> Post(SetChannelMapping request)
|
|
public async Task<object> Post(SetChannelMapping request)
|
|
{
|
|
{
|
|
- var config = GetConfiguration();
|
|
|
|
-
|
|
|
|
- var listingsProviderInfo = config.ListingProviders.First(i => string.Equals(request.ProviderId, i.Id, StringComparison.OrdinalIgnoreCase));
|
|
|
|
- listingsProviderInfo.ChannelMappings = listingsProviderInfo.ChannelMappings.Where(i => !string.Equals(i.Name, request.TunerChannelNumber, StringComparison.OrdinalIgnoreCase)).ToArray();
|
|
|
|
-
|
|
|
|
- if (!string.Equals(request.TunerChannelNumber, request.ProviderChannelNumber, StringComparison.OrdinalIgnoreCase))
|
|
|
|
- {
|
|
|
|
- var list = listingsProviderInfo.ChannelMappings.ToList();
|
|
|
|
- list.Add(new NameValuePair
|
|
|
|
- {
|
|
|
|
- Name = request.TunerChannelNumber,
|
|
|
|
- Value = request.ProviderChannelNumber
|
|
|
|
- });
|
|
|
|
- listingsProviderInfo.ChannelMappings = list.ToArray();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- UpdateConfiguration(config);
|
|
|
|
-
|
|
|
|
- var tunerChannels = await _liveTvManager.GetChannelsForListingsProvider(request.ProviderId, CancellationToken.None)
|
|
|
|
- .ConfigureAwait(false);
|
|
|
|
-
|
|
|
|
- var providerChannels = await _liveTvManager.GetChannelsFromListingsProviderData(request.ProviderId, CancellationToken.None)
|
|
|
|
- .ConfigureAwait(false);
|
|
|
|
-
|
|
|
|
- var mappings = listingsProviderInfo.ChannelMappings.ToList();
|
|
|
|
-
|
|
|
|
- var tunerChannelMappings =
|
|
|
|
- tunerChannels.Select(i => GetTunerChannelMapping(i, mappings, providerChannels)).ToList();
|
|
|
|
-
|
|
|
|
- return tunerChannelMappings.First(i => string.Equals(i.Number, request.TunerChannelNumber, StringComparison.OrdinalIgnoreCase));
|
|
|
|
|
|
+ return await _liveTvManager.SetChannelMapping(request.ProviderId, request.TunerChannelNumber, request.ProviderChannelNumber).ConfigureAwait(false);
|
|
}
|
|
}
|
|
|
|
|
|
public async Task<object> Get(GetChannelMappingOptions request)
|
|
public async Task<object> Get(GetChannelMappingOptions request)
|
|
@@ -645,7 +608,7 @@ namespace MediaBrowser.Api.LiveTv
|
|
|
|
|
|
var result = new ChannelMappingOptions
|
|
var result = new ChannelMappingOptions
|
|
{
|
|
{
|
|
- TunerChannels = tunerChannels.Select(i => GetTunerChannelMapping(i, mappings, providerChannels)).ToList(),
|
|
|
|
|
|
+ TunerChannels = tunerChannels.Select(i => _liveTvManager.GetTunerChannelMapping(i, mappings, providerChannels)).ToList(),
|
|
|
|
|
|
ProviderChannels = providerChannels.Select(i => new NameIdPair
|
|
ProviderChannels = providerChannels.Select(i => new NameIdPair
|
|
{
|
|
{
|
|
@@ -662,33 +625,6 @@ namespace MediaBrowser.Api.LiveTv
|
|
return ToOptimizedResult(result);
|
|
return ToOptimizedResult(result);
|
|
}
|
|
}
|
|
|
|
|
|
- private TunerChannelMapping GetTunerChannelMapping(ChannelInfo channel, List<NameValuePair> mappings, List<ChannelInfo> providerChannels)
|
|
|
|
- {
|
|
|
|
- var result = new TunerChannelMapping
|
|
|
|
- {
|
|
|
|
- Name = channel.Number + " " + channel.Name,
|
|
|
|
- Number = channel.Number
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- var mapping = mappings.FirstOrDefault(i => string.Equals(i.Name, channel.Number, StringComparison.OrdinalIgnoreCase));
|
|
|
|
- var providerChannelNumber = channel.Number;
|
|
|
|
-
|
|
|
|
- if (mapping != null)
|
|
|
|
- {
|
|
|
|
- providerChannelNumber = mapping.Value;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- var providerChannel = providerChannels.FirstOrDefault(i => string.Equals(i.Number, providerChannelNumber, StringComparison.OrdinalIgnoreCase));
|
|
|
|
-
|
|
|
|
- if (providerChannel != null)
|
|
|
|
- {
|
|
|
|
- result.ProviderChannelNumber = providerChannel.Number;
|
|
|
|
- result.ProviderChannelName = providerChannel.Name;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return result;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
public object Get(GetSatIniMappings request)
|
|
public object Get(GetSatIniMappings request)
|
|
{
|
|
{
|
|
return ToOptimizedResult(_liveTvManager.GetSatIniMappings());
|
|
return ToOptimizedResult(_liveTvManager.GetSatIniMappings());
|
|
@@ -730,11 +666,7 @@ namespace MediaBrowser.Api.LiveTv
|
|
|
|
|
|
public void Delete(DeleteListingProvider request)
|
|
public void Delete(DeleteListingProvider request)
|
|
{
|
|
{
|
|
- var config = GetConfiguration();
|
|
|
|
-
|
|
|
|
- config.ListingProviders = config.ListingProviders.Where(i => !string.Equals(request.Id, i.Id, StringComparison.OrdinalIgnoreCase)).ToList();
|
|
|
|
-
|
|
|
|
- _config.SaveConfiguration("livetv", config);
|
|
|
|
|
|
+ _liveTvManager.DeleteListingsProvider(request.Id);
|
|
}
|
|
}
|
|
|
|
|
|
public async Task<object> Post(AddTunerHost request)
|
|
public async Task<object> Post(AddTunerHost request)
|