From ce34c35b944ec8dcc56a4a68ac4d363d0f76db06 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 6 Nov 2015 10:02:22 -0500 Subject: encode with qsv --- .../Library/LibraryManager.cs | 42 ++++++++++++---------- 1 file changed, 24 insertions(+), 18 deletions(-) (limited to 'MediaBrowser.Server.Implementations/Library/LibraryManager.cs') diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index 70d28547c..0ba7dea53 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -1272,6 +1272,11 @@ namespace MediaBrowser.Server.Implementations.Library public QueryResult GetItems(InternalItemsQuery query) { + if (query.User != null) + { + AddUserToQuery(query, query.User); + } + var result = ItemRepository.GetItemIdsList(query); var items = result.Select(GetItemById).Where(i => i != null).ToArray(); @@ -1284,11 +1289,21 @@ namespace MediaBrowser.Server.Implementations.Library public QueryResult QueryItems(InternalItemsQuery query) { + if (query.User != null) + { + AddUserToQuery(query, query.User); + } + return ItemRepository.GetItems(query); } public List GetItemIds(InternalItemsQuery query) { + if (query.User != null) + { + AddUserToQuery(query, query.User); + } + return ItemRepository.GetItemIdsList(query); } @@ -1298,14 +1313,7 @@ namespace MediaBrowser.Server.Implementations.Library query.AncestorIds = parents.SelectMany(i => i.GetIdsForAncestorQuery()).Select(i => i.ToString("N")).ToArray(); - if (user != null) - { - AddUserToQuery(query, user); - } - - var items = GetItemIds(query).Select(GetItemById); - - return items; + return GetItemIds(query).Select(GetItemById); } public QueryResult GetItemsResult(InternalItemsQuery query, IEnumerable parentIds) @@ -1314,26 +1322,24 @@ namespace MediaBrowser.Server.Implementations.Library query.AncestorIds = parents.SelectMany(i => i.GetIdsForAncestorQuery()).Select(i => i.ToString("N")).ToArray(); - if (query.User != null) - { - AddUserToQuery(query, query.User); - } - return GetItems(query); } private void AddUserToQuery(InternalItemsQuery query, User user) { - if (query.AncestorIds.Length == 0) + if (query.AncestorIds.Length == 0 && !query.ParentId.HasValue && query.ChannelIds.Length == 0) { - // Need to filter on user folders + // TODO: Need to filter on user folders } - query.MaxParentalRating = user.Policy.MaxParentalRating; + // TODO: handle blocking by tags - // handle blocking by tags + query.MaxParentalRating = user.Policy.MaxParentalRating; - // handle unrated filter + if (user.Policy.MaxParentalRating.HasValue) + { + query.BlockUnratedItems = user.Policy.BlockUnratedItems; + } } /// -- cgit v1.2.3