diff options
| author | Luke <luke.pulverenti@gmail.com> | 2015-01-10 01:59:48 -0500 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2015-01-10 01:59:48 -0500 |
| commit | 18b5168f05dc325985ac6a7b2b5b390fa4b12042 (patch) | |
| tree | 7e440e3267895f7ce161ac5ae3d5723e0894bd5f /MediaBrowser.Api | |
| parent | e3a1c13e7cc8c49eb66b395b4810339f41fdf6b3 (diff) | |
| parent | e97848289600570b489b6fdb608014b383772523 (diff) | |
Merge pull request #971 from MediaBrowser/dev
3.0.5482.4
Diffstat (limited to 'MediaBrowser.Api')
| -rw-r--r-- | MediaBrowser.Api/ItemUpdateService.cs | 8 | ||||
| -rw-r--r-- | MediaBrowser.Api/PackageService.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Api/PluginService.cs | 27 |
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); } |
