aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-10-18 13:35:36 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-10-18 13:35:36 -0400
commitd74ded0fd6f28d1d170d7c805e6e409926defd13 (patch)
treeadf8e1a628e75bd9e8e9ec6f05e3976813504e45 /MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
parent5ecf69503b663c6f4307de10edf6913f06942643 (diff)
resolved issue with setting up mixed library
Diffstat (limited to 'MediaBrowser.Server.Implementations/Channels/ChannelManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Channels/ChannelManager.cs23
1 files changed, 20 insertions, 3 deletions
diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
index 1bb8c21bf..63f4f2e7e 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<BaseItem> ApplyFilters(IEnumerable<BaseItem> items, IEnumerable<ItemFilter> filters, User user)