aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Manager/ProviderManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Providers/Manager/ProviderManager.cs')
-rw-r--r--MediaBrowser.Providers/Manager/ProviderManager.cs67
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
}
}