update tuners

This commit is contained in:
Luke Pulverenti 2015-07-25 14:11:46 -04:00
parent 14f97d6176
commit b194512843
8 changed files with 34 additions and 10 deletions

View File

@ -334,7 +334,7 @@ namespace MediaBrowser.Api.LiveTv
[Route("/LiveTv/TunerHosts", "POST", Summary = "Adds a tuner host")] [Route("/LiveTv/TunerHosts", "POST", Summary = "Adds a tuner host")]
[Authenticated] [Authenticated]
public class AddTunerHost : TunerHostInfo, IReturnVoid public class AddTunerHost : TunerHostInfo, IReturn<TunerHostInfo>
{ {
} }
@ -419,10 +419,10 @@ namespace MediaBrowser.Api.LiveTv
_config.SaveConfiguration("livetv", config); _config.SaveConfiguration("livetv", config);
} }
public void Post(AddTunerHost request) public async Task<object> Post(AddTunerHost request)
{ {
var task = _liveTvManager.SaveTunerHost(request); var result = await _liveTvManager.SaveTunerHost(request).ConfigureAwait(false);
Task.WaitAll(task); return ToOptimizedResult(result);
} }
public void Delete(DeleteTunerHost request) public void Delete(DeleteTunerHost request)

View File

@ -344,7 +344,7 @@ namespace MediaBrowser.Controller.LiveTv
/// </summary> /// </summary>
/// <param name="info">The information.</param> /// <param name="info">The information.</param>
/// <returns>Task.</returns> /// <returns>Task.</returns>
Task SaveTunerHost(TunerHostInfo info); Task<TunerHostInfo> SaveTunerHost(TunerHostInfo info);
/// <summary> /// <summary>
/// Saves the listing provider. /// Saves the listing provider.
/// </summary> /// </summary>

View File

@ -24,6 +24,7 @@ namespace MediaBrowser.Model.LiveTv
public string Id { get; set; } public string Id { get; set; }
public string Url { get; set; } public string Url { get; set; }
public string Type { get; set; } public string Type { get; set; }
public bool ImportFavoritesOnly { get; set; }
} }
public class ListingsProviderInfo public class ListingsProviderInfo

View File

@ -2172,7 +2172,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
return await _libraryManager.GetNamedView(user, name, "livetv", "zz_" + name, cancellationToken).ConfigureAwait(false); return await _libraryManager.GetNamedView(user, name, "livetv", "zz_" + name, cancellationToken).ConfigureAwait(false);
} }
public async Task SaveTunerHost(TunerHostInfo info) public async Task<TunerHostInfo> SaveTunerHost(TunerHostInfo info)
{ {
info = (TunerHostInfo)_jsonSerializer.DeserializeFromString(_jsonSerializer.SerializeToString(info), typeof(TunerHostInfo)); info = (TunerHostInfo)_jsonSerializer.DeserializeFromString(_jsonSerializer.SerializeToString(info), typeof(TunerHostInfo));
@ -2202,6 +2202,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv
_config.SaveConfiguration("livetv", config); _config.SaveConfiguration("livetv", config);
_taskManager.CancelIfRunningAndQueue<RefreshChannelsScheduledTask>(); _taskManager.CancelIfRunningAndQueue<RefreshChannelsScheduledTask>();
return info;
} }
public async Task<ListingsProviderInfo> SaveListingProvider(ListingsProviderInfo info, bool validateLogin, bool validateListings) public async Task<ListingsProviderInfo> SaveListingProvider(ListingsProviderInfo info, bool validateLogin, bool validateListings)

View File

@ -73,7 +73,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
} }
// Strip off the port // Strip off the port
url = new Uri(url).GetComponents(UriComponents.AbsoluteUri & ~UriComponents.Port, UriFormat.UriEscaped); url = new Uri(url).GetComponents(UriComponents.AbsoluteUri & ~UriComponents.Port, UriFormat.UriEscaped).TrimEnd('/');
await _liveTvManager.SaveTunerHost(new TunerHostInfo await _liveTvManager.SaveTunerHost(new TunerHostInfo
{ {

View File

@ -60,7 +60,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
if (root != null) if (root != null)
{ {
return root.Select(i => new ChannelInfo var result = root.Select(i => new ChannelInfo
{ {
Name = i.GuideName, Name = i.GuideName,
Number = i.GuideNumber.ToString(CultureInfo.InvariantCulture), Number = i.GuideNumber.ToString(CultureInfo.InvariantCulture),
@ -68,6 +68,13 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
IsFavorite = i.Favorite IsFavorite = i.Favorite
}); });
if (info.ImportFavoritesOnly)
{
result = result.Where(i => (i.IsFavorite ?? true)).ToList();
}
return result;
} }
return new List<ChannelInfo>(); return new List<ChannelInfo>();
} }

View File

@ -1480,7 +1480,7 @@
"ButtonAddDevice": "Add Device", "ButtonAddDevice": "Add Device",
"HeaderAddDevice": "Add Device", "HeaderAddDevice": "Add Device",
"HeaderExternalServices": "External Services", "HeaderExternalServices": "External Services",
"LabelIpAddressPath": "IP Address / Path:", "LabelTunerIpAddress": "Tuner IP Address:",
"TabExternalServices": "External Services", "TabExternalServices": "External Services",
"TabTuners": "Tuners", "TabTuners": "Tuners",
"HeaderGuideProviders": "Guide Providers", "HeaderGuideProviders": "Guide Providers",
@ -1489,5 +1489,7 @@
"GuideProviderListingsStep": "Step 2: Select Listings", "GuideProviderListingsStep": "Step 2: Select Listings",
"GuideProviderLoginStep": "Step 1: Login", "GuideProviderLoginStep": "Step 1: Login",
"LabelLineup": "Lineup:", "LabelLineup": "Lineup:",
"MessageTunerDeviceNotListed": "Is your tuner device not listed? Try installing an external service provider for more Live TV options." "MessageTunerDeviceNotListed": "Is your tuner device not listed? Try installing an external service provider for more Live TV options.",
"LabelImportOnlyFavoriteChannels": "Restrict to channels marked as favorite",
"ImportFavoriteChannelsHelp": "If enabled, only channels that are marked as favorite on the tuner device will be imported."
} }

View File

@ -195,6 +195,12 @@
<Content Include="dashboard-ui\livetvtimers.html"> <Content Include="dashboard-ui\livetvtimers.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="dashboard-ui\livetvtunerprovider-hdhomerun.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\livetvtunerprovider-m3u.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\mypreferenceshome.html"> <Content Include="dashboard-ui\mypreferenceshome.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
@ -210,6 +216,12 @@
<Content Include="dashboard-ui\scripts\livetvguideprovider-scd.js"> <Content Include="dashboard-ui\scripts\livetvguideprovider-scd.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="dashboard-ui\scripts\livetvtunerprovider-hdhomerun.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\scripts\livetvtunerprovider-m3u.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\scripts\mypreferenceshome.js"> <Content Include="dashboard-ui\scripts\mypreferenceshome.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>