diff options
Diffstat (limited to 'MediaBrowser.Providers/Manager/ProviderManager.cs')
| -rw-r--r-- | MediaBrowser.Providers/Manager/ProviderManager.cs | 67 |
1 files changed, 52 insertions, 15 deletions
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index f2ec85cfa..d9982e786 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -137,6 +137,11 @@ namespace MediaBrowser.Providers.Manager return new ImageSaver(ConfigurationManager, _libraryMonitor, _fileSystem, _logger).SaveImage(item, source, mimeType, type, imageIndex, cancellationToken); } + public Task SaveImage(IHasImages item, Stream source, string mimeType, ImageType type, int? imageIndex, string internalCacheKey, CancellationToken cancellationToken) + { + return new ImageSaver(ConfigurationManager, _libraryMonitor, _fileSystem, _logger).SaveImage(item, source, mimeType, type, imageIndex, internalCacheKey, cancellationToken); + } + public async Task<IEnumerable<RemoteImageInfo>> GetAvailableRemoteImages(IHasImages item, RemoteImageQuery query, CancellationToken cancellationToken) { var providers = GetRemoteImageProviders(item, query.IncludeDisabledProviders); @@ -357,11 +362,6 @@ namespace MediaBrowser.Providers.Manager } } - if (!item.SupportsLocalMetadata && provider is ILocalImageProvider) - { - return false; - } - try { return provider.Supports(item); @@ -437,7 +437,6 @@ namespace MediaBrowser.Providers.Manager GetPluginSummary<Game>(), GetPluginSummary<GameSystem>(), GetPluginSummary<Movie>(), - GetPluginSummary<Trailer>(), GetPluginSummary<BoxSet>(), GetPluginSummary<Book>(), GetPluginSummary<Series>(), @@ -451,7 +450,6 @@ namespace MediaBrowser.Providers.Manager GetPluginSummary<Studio>(), GetPluginSummary<GameGenre>(), GetPluginSummary<MusicGenre>(), - GetPluginSummary<AdultVideo>(), GetPluginSummary<MusicVideo>(), GetPluginSummary<Video>(), GetPluginSummary<LiveTvChannel>(), @@ -469,7 +467,7 @@ namespace MediaBrowser.Providers.Manager // Give it a dummy path just so that it looks like a file system item var dummy = new T() { - Path = "C:\\", + Path = BaseItem.GetInternalMetadataPathForId(Guid.NewGuid()), // Dummy this up to fool the local trailer check Parent = new Folder() @@ -570,9 +568,33 @@ namespace MediaBrowser.Providers.Manager /// <param name="item">The item.</param> /// <param name="updateType">Type of the update.</param> /// <returns>Task.</returns> - public async Task SaveMetadata(IHasMetadata item, ItemUpdateType updateType) + public Task SaveMetadata(IHasMetadata item, ItemUpdateType updateType) + { + return SaveMetadata(item, updateType, _savers); + } + + /// <summary> + /// Saves the metadata. + /// </summary> + /// <param name="item">The item.</param> + /// <param name="updateType">Type of the update.</param> + /// <param name="savers">The savers.</param> + /// <returns>Task.</returns> + public Task SaveMetadata(IHasMetadata item, ItemUpdateType updateType, IEnumerable<string> savers) { - foreach (var saver in _savers.Where(i => IsSaverEnabledForItem(i, item, updateType, false))) + return SaveMetadata(item, updateType, _savers.Where(i => savers.Contains(i.Name, StringComparer.OrdinalIgnoreCase))); + } + + /// <summary> + /// Saves the metadata. + /// </summary> + /// <param name="item">The item.</param> + /// <param name="updateType">Type of the update.</param> + /// <param name="savers">The savers.</param> + /// <returns>Task.</returns> + private async Task SaveMetadata(IHasMetadata item, ItemUpdateType updateType, IEnumerable<IMetadataSaver> savers) + { + foreach (var saver in savers.Where(i => IsSaverEnabledForItem(i, item, updateType, false))) { _logger.Debug("Saving {0} to {1}.", item.Path ?? item.Name, saver.Name); @@ -625,6 +647,14 @@ namespace MediaBrowser.Providers.Manager } } + /// <summary> + /// Determines whether [is saver enabled for item] [the specified saver]. + /// </summary> + /// <param name="saver">The saver.</param> + /// <param name="item">The item.</param> + /// <param name="updateType">Type of the update.</param> + /// <param name="includeDisabled">if set to <c>true</c> [include disabled].</param> + /// <returns><c>true</c> if [is saver enabled for item] [the specified saver]; otherwise, <c>false</c>.</returns> private bool IsSaverEnabledForItem(IMetadataSaver saver, IHasMetadata item, ItemUpdateType updateType, bool includeDisabled) { var options = GetMetadataOptions(item); @@ -679,7 +709,7 @@ namespace MediaBrowser.Providers.Manager // Give it a dummy path just so that it looks like a file system item var dummy = new TItemType { - Path = "C:\\", + Path = BaseItem.GetInternalMetadataPathForId(Guid.NewGuid()), // Dummy this up to fool the local trailer check Parent = new Folder() @@ -706,13 +736,20 @@ namespace MediaBrowser.Providers.Manager foreach (var provider in providers) { - var results = await GetSearchResults(provider, searchInfo.SearchInfo, cancellationToken).ConfigureAwait(false); + try + { + var results = await GetSearchResults(provider, searchInfo.SearchInfo, cancellationToken).ConfigureAwait(false); - var list = results.ToList(); + var list = results.ToList(); - if (list.Count > 0) + if (list.Count > 0) + { + return list.Take(10); + } + } + catch (Exception ex) { - return list.Take(10); + // Logged at lower levels } } |
