aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/LiveTv
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-07-28 08:33:30 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-07-28 08:33:30 -0400
commit3799ad594080f6476119e59e8d4631c4354ee598 (patch)
treec93b0f9ffce3c14ac659292820f2ee8094b66b5e /MediaBrowser.Server.Implementations/LiveTv
parentba2574a03b76f98b3688755f2afaad4ee01333d0 (diff)
update task triggers
Diffstat (limited to 'MediaBrowser.Server.Implementations/LiveTv')
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs44
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs9
2 files changed, 26 insertions, 27 deletions
diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs
index d8e60be5a1..d8954724aa 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs
@@ -13,6 +13,7 @@ using MediaBrowser.Controller.Localization;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Sorting;
+using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.LiveTv;
@@ -772,9 +773,21 @@ namespace MediaBrowser.Server.Implementations.LiveTv
MaxStartDate = query.MaxStartDate,
ChannelIds = query.ChannelIds,
IsMovie = query.IsMovie,
- IsSports = query.IsSports
+ IsSports = query.IsSports,
+ Genres = query.Genres
};
+ var user = string.IsNullOrEmpty(query.UserId) ? null : _userManager.GetUserById(query.UserId);
+ if (user != null)
+ {
+ internalQuery.MaxParentalRating = user.Policy.MaxParentalRating;
+
+ if (user.Policy.BlockUnratedItems.Contains(UnratedItem.LiveTvProgram))
+ {
+ internalQuery.HasParentalRating = true;
+ }
+ }
+
if (query.HasAired.HasValue)
{
if (query.HasAired.Value)
@@ -789,20 +802,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv
IEnumerable<LiveTvProgram> programs = _libraryManager.GetItems(internalQuery).Items.Cast<LiveTvProgram>();
- // Apply genre filter
- if (query.Genres.Length > 0)
- {
- programs = programs.Where(p => p.Genres.Any(g => query.Genres.Contains(g, StringComparer.OrdinalIgnoreCase)));
- }
-
- var user = string.IsNullOrEmpty(query.UserId) ? null : _userManager.GetUserById(query.UserId);
- if (user != null)
- {
- // Avoid implicitly captured closure
- var currentUser = user;
- programs = programs.Where(i => i.IsVisible(currentUser));
- }
-
programs = _libraryManager.Sort(programs, user, query.SortBy, query.SortOrder ?? SortOrder.Ascending)
.Cast<LiveTvProgram>();
@@ -860,13 +859,18 @@ namespace MediaBrowser.Server.Implementations.LiveTv
}
}
- IEnumerable<LiveTvProgram> programs = _libraryManager.GetItems(internalQuery).Items.Cast<LiveTvProgram>();
-
var user = _userManager.GetUserById(query.UserId);
+ if (user != null)
+ {
+ internalQuery.MaxParentalRating = user.Policy.MaxParentalRating;
- // Avoid implicitly captured closure
- var currentUser = user;
- programs = programs.Where(i => i.IsVisible(currentUser));
+ if (user.Policy.BlockUnratedItems.Contains(UnratedItem.LiveTvProgram))
+ {
+ internalQuery.HasParentalRating = true;
+ }
+ }
+
+ IEnumerable<LiveTvProgram> programs = _libraryManager.GetItems(internalQuery).Items.Cast<LiveTvProgram>();
var programList = programs.ToList();
diff --git a/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs b/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs
index fa1a8b3e72..d8d91c2f97 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs
@@ -2,7 +2,6 @@
using MediaBrowser.Common.ScheduledTasks;
using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Model.LiveTv;
-using MediaBrowser.Model.Tasks;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -47,11 +46,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
{
return new ITaskTrigger[]
{
- new StartupTrigger(),
-
- new SystemEventTrigger{ SystemEvent = SystemEvent.WakeFromSleep},
-
- new IntervalTrigger{ Interval = TimeSpan.FromHours(4)}
+ new IntervalTrigger{ Interval = TimeSpan.FromHours(12)}
};
}
@@ -59,7 +54,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
{
return _config.GetConfiguration<LiveTvOptions>("livetv");
}
-
+
public bool IsHidden
{
get { return _liveTvManager.Services.Count == 1 && GetConfiguration().TunerHosts.Count(i => i.IsEnabled) == 0; }