aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-09-28 16:49:43 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-09-28 16:49:43 -0400
commit1fcfff41c7d33266a059b9f4161f9aea34be8de4 (patch)
treedb41aa2494cc0a69299f50efc2a53ef781dc5741 /MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
parentc05cb1dcb1bb51cadc6e413395f2adb63cbab6ad (diff)
update channels
Diffstat (limited to 'MediaBrowser.Server.Implementations/Channels/ChannelManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Channels/ChannelManager.cs42
1 files changed, 12 insertions, 30 deletions
diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
index 23c1522b5..c66db51db 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<QueryResult<BaseItem>> 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<IChannel, ChannelItemResult>(i, result);
}
@@ -777,21 +777,6 @@ namespace MediaBrowser.Server.Implementations.Channels
.SelectMany(i => i.Item2.Items.Select(m => new Tuple<IChannel, ChannelItemInfo>(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<ChannelItemResult> GetAllItems(IIndexableChannel indexable, IChannel channel, string userId, CancellationToken cancellationToken)
+ private async Task<ChannelItemResult> 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);