diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-10 00:53:35 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-10 00:53:35 -0500 |
| commit | 51b5e379d56eaa77ab0e93edcb87477f524bf804 (patch) | |
| tree | b3df09ab19b3898f08b19d2a18dc1d7bd80ae5f4 /MediaBrowser.Api/PluginService.cs | |
| parent | 0024aa44ee1f316dc2c9d7d41d9306dd168159ea (diff) | |
add options for media in archives
Diffstat (limited to 'MediaBrowser.Api/PluginService.cs')
| -rw-r--r-- | MediaBrowser.Api/PluginService.cs | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/MediaBrowser.Api/PluginService.cs b/MediaBrowser.Api/PluginService.cs index b4e12184a..62aa1e755 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); } |
