From 1fcfff41c7d33266a059b9f4161f9aea34be8de4 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 28 Sep 2014 16:49:43 -0400 Subject: update channels --- .../Channels/ChannelManager.cs | 42 +++++++--------------- 1 file changed, 12 insertions(+), 30 deletions(-) (limited to 'MediaBrowser.Server.Implementations/Channels/ChannelManager.cs') diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs index 23c1522b58..c66db51db1 100644 --- a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs +++ b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs @@ -730,10 +730,6 @@ namespace MediaBrowser.Server.Implementations.Channels public async Task> GetAllMediaInternal(AllChannelMediaQuery query, CancellationToken cancellationToken) { - var user = string.IsNullOrWhiteSpace(query.UserId) - ? null - : _userManager.GetUserById(query.UserId); - var channels = GetAllChannels(); if (query.ChannelIds.Length > 0) @@ -745,9 +741,6 @@ namespace MediaBrowser.Server.Implementations.Channels .ToArray(); } - // Avoid implicitly captured closure - var userId = query.UserId; - var tasks = channels .Select(async i => { @@ -757,7 +750,14 @@ namespace MediaBrowser.Server.Implementations.Channels { try { - var result = await GetAllItems(indexable, i, userId, cancellationToken).ConfigureAwait(false); + var result = await GetAllItems(indexable, i, new InternalAllChannelMediaQuery + { + UserId = query.UserId, + ContentTypes = query.ContentTypes, + ExtraTypes = query.ExtraTypes, + TrailerTypes = query.TrailerTypes + + }, cancellationToken).ConfigureAwait(false); return new Tuple(i, result); } @@ -777,21 +777,6 @@ namespace MediaBrowser.Server.Implementations.Channels .SelectMany(i => i.Item2.Items.Select(m => new Tuple(i.Item1, m))) .OrderBy(i => i.Item2.Name); - if (query.ContentTypes.Length > 0) - { - // Avoid implicitly captured closure - var contentTypes = query.ContentTypes; - - items = items.Where(i => contentTypes.Contains(i.Item2.ContentType)); - } - if (query.ExtraTypes.Length > 0) - { - // Avoid implicitly captured closure - var contentTypes = query.ExtraTypes; - - items = items.Where(i => contentTypes.Contains(i.Item2.ExtraType)); - } - if (query.StartIndex.HasValue) { items = items.Skip(query.StartIndex.Value); @@ -847,10 +832,11 @@ namespace MediaBrowser.Server.Implementations.Channels return result; } - private async Task GetAllItems(IIndexableChannel indexable, IChannel channel, string userId, CancellationToken cancellationToken) + private async Task GetAllItems(IIndexableChannel indexable, IChannel channel, InternalAllChannelMediaQuery query, CancellationToken cancellationToken) { var cacheLength = CacheLength; - var cachePath = GetChannelDataCachePath(channel, userId, "channelmanager-allitems", null, false); + var folderId = _jsonSerializer.SerializeToString(query).GetMD5().ToString("N"); + var cachePath = GetChannelDataCachePath(channel, query.UserId, folderId, null, false); try { @@ -888,11 +874,7 @@ namespace MediaBrowser.Server.Implementations.Channels } - var result = await indexable.GetAllMedia(new InternalAllChannelMediaQuery - { - UserId = userId - - }, cancellationToken).ConfigureAwait(false); + var result = await indexable.GetAllMedia(query, cancellationToken).ConfigureAwait(false); CacheResponse(result, cachePath); -- cgit v1.2.3