diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-11 22:46:27 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-11 22:46:27 -0500 |
| commit | 1ff62edd845e0ff2da2150307b4addb13794bd16 (patch) | |
| tree | b74a3193d15305bae92276094575822fbcf0e31b /MediaBrowser.Providers/Manager/ProviderManager.cs | |
| parent | e57259b302bc98fd88d09df4fc682660ec6d0d91 (diff) | |
fixes #709 - show all languages
Diffstat (limited to 'MediaBrowser.Providers/Manager/ProviderManager.cs')
| -rw-r--r-- | MediaBrowser.Providers/Manager/ProviderManager.cs | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index db0a25ec6..f49bbb6ae 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -205,26 +205,31 @@ namespace MediaBrowser.Providers.Manager /// Gets the available remote images. /// </summary> /// <param name="item">The item.</param> + /// <param name="query">The query.</param> /// <param name="cancellationToken">The cancellation token.</param> - /// <param name="providerName">Name of the provider.</param> - /// <param name="type">The type.</param> /// <returns>Task{IEnumerable{RemoteImageInfo}}.</returns> - public async Task<IEnumerable<RemoteImageInfo>> GetAvailableRemoteImages(IHasImages item, CancellationToken cancellationToken, string providerName = null, ImageType? type = null) + public async Task<IEnumerable<RemoteImageInfo>> GetAvailableRemoteImages(IHasImages item, RemoteImageQuery query, CancellationToken cancellationToken) { - var providers = GetRemoteImageProviders(item, true); + var providers = GetRemoteImageProviders(item, query.IncludeDisabledProviders); - if (!string.IsNullOrEmpty(providerName)) + if (!string.IsNullOrEmpty(query.ProviderName)) { + var providerName = query.ProviderName; + providers = providers.Where(i => string.Equals(i.Name, providerName, StringComparison.OrdinalIgnoreCase)); } var preferredLanguage = item.GetPreferredMetadataLanguage(); - var tasks = providers.Select(i => GetImages(item, cancellationToken, i, preferredLanguage, type)); + var language = query.IncludeAllLanguages ? null : preferredLanguage; + + var tasks = providers.Select(i => GetImages(item, cancellationToken, i, language, query.ImageType)); var results = await Task.WhenAll(tasks).ConfigureAwait(false); - return results.SelectMany(i => i); + var images = results.SelectMany(i => i); + + return images; } /// <summary> @@ -244,12 +249,15 @@ namespace MediaBrowser.Providers.Manager { var result = await i.GetImages(item, type.Value, cancellationToken).ConfigureAwait(false); - return FilterImages(result, preferredLanguage); + return string.IsNullOrEmpty(preferredLanguage) ? result : + FilterImages(result, preferredLanguage); } else { var result = await i.GetAllImages(item, cancellationToken).ConfigureAwait(false); - return FilterImages(result, preferredLanguage); + + return string.IsNullOrEmpty(preferredLanguage) ? result : + FilterImages(result, preferredLanguage); } } catch (Exception ex) @@ -347,7 +355,7 @@ namespace MediaBrowser.Providers.Manager return index; } } - + // Not configured. Just return some high number to put it at the end. return 100; }) @@ -671,4 +679,4 @@ namespace MediaBrowser.Providers.Manager } } } -} +}
\ No newline at end of file |
