From d74ded0fd6f28d1d170d7c805e6e409926defd13 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 18 Oct 2015 13:35:36 -0400 Subject: [PATCH] resolved issue with setting up mixed library --- .../Channels/ChannelManager.cs | 23 ++++++++++++++++--- .../Library/Resolvers/Movies/MovieResolver.cs | 22 ++++++++++-------- .../LiveTv/LiveTvManager.cs | 6 +++++ SharedVersion.cs | 4 ++-- 4 files changed, 41 insertions(+), 14 deletions(-) diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs index 1bb8c21bf4..63f4f2e7ec 100644 --- a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs +++ b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs @@ -118,8 +118,18 @@ namespace MediaBrowser.Server.Implementations.Channels if (query.SupportsLatestItems.HasValue) { var val = query.SupportsLatestItems.Value; - channels = channels.Where(i => (GetChannelProvider(i) is ISupportsLatestMedia) == val) - .ToList(); + channels = channels.Where(i => + { + try + { + return (GetChannelProvider(i) is ISupportsLatestMedia) == val; + } + catch + { + return false; + } + + }).ToList(); } if (query.IsFavorite.HasValue) { @@ -1292,7 +1302,14 @@ namespace MediaBrowser.Server.Implementations.Channels internal IChannel GetChannelProvider(Channel channel) { - return GetAllChannels().First(i => string.Equals(i.Name.GetMD5().ToString("N"), channel.ChannelId, StringComparison.OrdinalIgnoreCase) || string.Equals(i.Name, channel.Name, StringComparison.OrdinalIgnoreCase)); + var result = GetAllChannels().FirstOrDefault(i => string.Equals(i.Name.GetMD5().ToString("N"), channel.ChannelId, StringComparison.OrdinalIgnoreCase) || string.Equals(i.Name, channel.Name, StringComparison.OrdinalIgnoreCase)); + + if (result == null) + { + throw new ResourceNotFoundException("No channel provider found for channel " + channel.Name); + } + + return result; } private IEnumerable ApplyFilters(IEnumerable items, IEnumerable filters, User user) diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs index 121567e015..3252db505b 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs @@ -74,12 +74,12 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies if (string.Equals(collectionType, CollectionType.MusicVideos, StringComparison.OrdinalIgnoreCase)) { - return ResolveVideos(parent, files, directoryService, collectionType, false); + return ResolveVideos(parent, files, directoryService, false); } if (string.Equals(collectionType, CollectionType.HomeVideos, StringComparison.OrdinalIgnoreCase)) { - return ResolveVideos