aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-01-10 01:59:48 -0500
committerLuke <luke.pulverenti@gmail.com>2015-01-10 01:59:48 -0500
commit18b5168f05dc325985ac6a7b2b5b390fa4b12042 (patch)
tree7e440e3267895f7ce161ac5ae3d5723e0894bd5f /MediaBrowser.Api
parente3a1c13e7cc8c49eb66b395b4810339f41fdf6b3 (diff)
parente97848289600570b489b6fdb608014b383772523 (diff)
Merge pull request #971 from MediaBrowser/dev
3.0.5482.4
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/ItemUpdateService.cs8
-rw-r--r--MediaBrowser.Api/PackageService.cs4
-rw-r--r--MediaBrowser.Api/PluginService.cs27
3 files changed, 32 insertions, 7 deletions
diff --git a/MediaBrowser.Api/ItemUpdateService.cs b/MediaBrowser.Api/ItemUpdateService.cs
index 272dff3ecc..98c259825e 100644
--- a/MediaBrowser.Api/ItemUpdateService.cs
+++ b/MediaBrowser.Api/ItemUpdateService.cs
@@ -76,11 +76,13 @@ namespace MediaBrowser.Api
{
if (!(item is ICollectionFolder) && !(item is UserView) && !(item is AggregateFolder) && !(item is LiveTvChannel) && !(item is IItemByName))
{
- var collectionType = _libraryManager.GetInheritedContentType(item);
- if (string.IsNullOrWhiteSpace(collectionType))
+ var inheritedContentType = _libraryManager.GetInheritedContentType(item);
+ var configuredContentType = _libraryManager.GetConfiguredContentType(item);
+
+ if (string.IsNullOrWhiteSpace(inheritedContentType) || string.Equals(inheritedContentType, CollectionType.TvShows, StringComparison.OrdinalIgnoreCase) || !string.IsNullOrWhiteSpace(configuredContentType))
{
info.ContentTypeOptions = GetContentTypeOptions(true);
- info.ContentType = _libraryManager.GetContentType(item);
+ info.ContentType = configuredContentType;
}
}
}
diff --git a/MediaBrowser.Api/PackageService.cs b/MediaBrowser.Api/PackageService.cs
index 136969b170..1d792fbc16 100644
--- a/MediaBrowser.Api/PackageService.cs
+++ b/MediaBrowser.Api/PackageService.cs
@@ -186,9 +186,9 @@ namespace MediaBrowser.Api
/// </summary>
/// <param name="request">The request.</param>
/// <returns>System.Object.</returns>
- public object Get(GetPackages request)
+ public async Task<object> Get(GetPackages request)
{
- var packages = _installationManager.GetAvailablePackages(CancellationToken.None, request.PackageType, _appHost.ApplicationVersion).Result;
+ var packages = await _installationManager.GetAvailablePackages(CancellationToken.None, request.PackageType, _appHost.ApplicationVersion).ConfigureAwait(false);
if (!string.IsNullOrEmpty(request.TargetSystems))
{
diff --git a/MediaBrowser.Api/PluginService.cs b/MediaBrowser.Api/PluginService.cs
index b4e12184aa..62aa1e755a 100644
--- a/MediaBrowser.Api/PluginService.cs
+++ b/MediaBrowser.Api/PluginService.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common;
+using System.Threading;
+using MediaBrowser.Common;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Security;
using MediaBrowser.Common.Updates;
@@ -13,6 +14,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
+using System.Threading.Tasks;
namespace MediaBrowser.Api
{
@@ -155,10 +157,31 @@ namespace MediaBrowser.Api
/// </summary>
/// <param name="request">The request.</param>
/// <returns>System.Object.</returns>
- public object Get(GetPlugins request)
+ public async Task<object> Get(GetPlugins request)
{
var result = _appHost.Plugins.OrderBy(p => p.Name).Select(p => p.GetPluginInfo()).ToList();
+ // Don't fail just on account of image url's
+ try
+ {
+ var packages = (await _installationManager.GetAvailablePackagesWithoutRegistrationInfo(CancellationToken.None))
+ .ToList();
+
+ foreach (var plugin in result)
+ {
+ var pkg = packages.FirstOrDefault(i => !string.IsNullOrWhiteSpace(i.guid) && new Guid(plugin.Id).Equals(new Guid(i.guid)));
+
+ if (pkg != null)
+ {
+ plugin.ImageUrl = pkg.thumbImage;
+ }
+ }
+ }
+ catch
+ {
+
+ }
+
return ToOptimizedSerializedResultUsingCache(result);
}