diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-10-17 12:48:23 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-10-17 12:48:23 -0400 |
| commit | 0fd99d2d08515341fbcd31daa011090bb073cfcd (patch) | |
| tree | ca299bed13c4a241482c5518ea0bc76f58b5326d /MediaBrowser.Providers | |
| parent | b0147c32f9122c6ce695d2919176ed8b50b94fda (diff) | |
| parent | b0a75f086e9d48b840ff1594997f68282920f491 (diff) | |
Merge pull request #2242 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Providers')
| -rw-r--r-- | MediaBrowser.Providers/Manager/ImageSaver.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Manager/ItemImageProvider.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Manager/MetadataService.cs | 19 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Manager/ProviderManager.cs | 9 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Manager/ProviderUtils.cs | 28 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Omdb/OmdbProvider.cs | 72 |
6 files changed, 53 insertions, 85 deletions
diff --git a/MediaBrowser.Providers/Manager/ImageSaver.cs b/MediaBrowser.Providers/Manager/ImageSaver.cs index 5203adc9d..7e1fa8984 100644 --- a/MediaBrowser.Providers/Manager/ImageSaver.cs +++ b/MediaBrowser.Providers/Manager/ImageSaver.cs @@ -72,7 +72,7 @@ namespace MediaBrowser.Providers.Manager return SaveImage(item, source, mimeType, type, imageIndex, null, cancellationToken); } - public async Task SaveImage(IHasImages item, Stream source, string mimeType, ImageType type, int? imageIndex, string internalCacheKey, CancellationToken cancellationToken) + public async Task SaveImage(IHasImages item, Stream source, string mimeType, ImageType type, int? imageIndex, bool? saveLocallyWithMedia, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(mimeType)) { @@ -109,9 +109,9 @@ namespace MediaBrowser.Providers.Manager } } } - if (!string.IsNullOrEmpty(internalCacheKey)) + if (saveLocallyWithMedia.HasValue && !saveLocallyWithMedia.Value) { - saveLocally = false; + saveLocally = saveLocallyWithMedia.Value; } if (!imageIndex.HasValue && item.AllowsMultipleImages(type)) diff --git a/MediaBrowser.Providers/Manager/ItemImageProvider.cs b/MediaBrowser.Providers/Manager/ItemImageProvider.cs index 87da835dc..898fa522d 100644 --- a/MediaBrowser.Providers/Manager/ItemImageProvider.cs +++ b/MediaBrowser.Providers/Manager/ItemImageProvider.cs @@ -156,14 +156,14 @@ namespace MediaBrowser.Providers.Manager var stream = _fileSystem.GetFileStream(response.Path, FileMode.Open, FileAccess.Read, FileShare.Read, true); - await _providerManager.SaveImage(item, stream, mimeType, imageType, null, response.InternalCacheKey, cancellationToken).ConfigureAwait(false); + await _providerManager.SaveImage(item, stream, mimeType, imageType, null, cancellationToken).ConfigureAwait(false); } } else { var mimeType = "image/" + response.Format.ToString().ToLower(); - await _providerManager.SaveImage(item, response.Stream, mimeType, imageType, null, response.InternalCacheKey, cancellationToken).ConfigureAwait(false); + await _providerManager.SaveImage(item, response.Stream, mimeType, imageType, null, cancellationToken).ConfigureAwait(false); } downloadedImages.Add(imageType); diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs index c470f55f2..41cacbe0a 100644 --- a/MediaBrowser.Providers/Manager/MetadataService.cs +++ b/MediaBrowser.Providers/Manager/MetadataService.cs @@ -353,19 +353,16 @@ namespace MediaBrowser.Providers.Manager { var updateType = ItemUpdateType.None; - if (isFullRefresh || currentUpdateType > ItemUpdateType.None) + var folder = item as Folder; + if (folder != null && folder.SupportsDateLastMediaAdded) { - var folder = item as Folder; - if (folder != null && folder.SupportsDateLastMediaAdded) - { - var items = folder.GetRecursiveChildren(i => !i.IsFolder).Select(i => i.DateCreated).ToList(); - var date = items.Count == 0 ? (DateTime?)null : items.Max(); + var items = folder.GetRecursiveChildren(i => !i.IsFolder).Select(i => i.DateCreated).ToList(); + var date = items.Count == 0 ? (DateTime?)null : items.Max(); - if ((!folder.DateLastMediaAdded.HasValue && date.HasValue) || folder.DateLastMediaAdded != date) - { - folder.DateLastMediaAdded = date; - updateType = ItemUpdateType.MetadataEdit; - } + if ((!folder.DateLastMediaAdded.HasValue && date.HasValue) || folder.DateLastMediaAdded != date) + { + folder.DateLastMediaAdded = date; + updateType = ItemUpdateType.MetadataImport; } } diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index ae1d60eb9..dfeceed7d 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -140,12 +140,7 @@ namespace MediaBrowser.Providers.Manager return new ImageSaver(ConfigurationManager, _libraryMonitor, _fileSystem, _logger, _memoryStreamProvider).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, _memoryStreamProvider).SaveImage(item, source, mimeType, type, imageIndex, internalCacheKey, cancellationToken); - } - - public Task SaveImage(IHasImages item, string source, string mimeType, ImageType type, int? imageIndex, string internalCacheKey, CancellationToken cancellationToken) + public Task SaveImage(IHasImages item, string source, string mimeType, ImageType type, int? imageIndex, bool? saveLocallyWithMedia, CancellationToken cancellationToken) { if (string.IsNullOrWhiteSpace(source)) { @@ -154,7 +149,7 @@ namespace MediaBrowser.Providers.Manager var fileStream = _fileSystem.GetFileStream(source, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, true); - return new ImageSaver(ConfigurationManager, _libraryMonitor, _fileSystem, _logger, _memoryStreamProvider).SaveImage(item, fileStream, mimeType, type, imageIndex, internalCacheKey, cancellationToken); + return new ImageSaver(ConfigurationManager, _libraryMonitor, _fileSystem, _logger, _memoryStreamProvider).SaveImage(item, fileStream, mimeType, type, imageIndex, saveLocallyWithMedia, cancellationToken); } public async Task<IEnumerable<RemoteImageInfo>> GetAvailableRemoteImages(IHasImages item, RemoteImageQuery query, CancellationToken cancellationToken) diff --git a/MediaBrowser.Providers/Manager/ProviderUtils.cs b/MediaBrowser.Providers/Manager/ProviderUtils.cs index fabe08f33..178e861a3 100644 --- a/MediaBrowser.Providers/Manager/ProviderUtils.cs +++ b/MediaBrowser.Providers/Manager/ProviderUtils.cs @@ -236,15 +236,9 @@ namespace MediaBrowser.Providers.Manager private static void MergeShortOverview(BaseItem source, BaseItem target, List<MetadataFields> lockedFields, bool replaceData) { - var sourceHasShortOverview = source as IHasShortOverview; - var targetHasShortOverview = target as IHasShortOverview; - - if (sourceHasShortOverview != null && targetHasShortOverview != null) + if (replaceData || string.IsNullOrEmpty(target.ShortOverview)) { - if (replaceData || string.IsNullOrEmpty(targetHasShortOverview.ShortOverview)) - { - targetHasShortOverview.ShortOverview = sourceHasShortOverview.ShortOverview; - } + target.ShortOverview = source.ShortOverview; } } @@ -311,20 +305,14 @@ namespace MediaBrowser.Providers.Manager private static void MergeCriticRating(BaseItem source, BaseItem target, List<MetadataFields> lockedFields, bool replaceData) { - var sourceCast = source as IHasCriticRating; - var targetCast = target as IHasCriticRating; - - if (sourceCast != null && targetCast != null) + if (replaceData || !target.CriticRating.HasValue) { - if (replaceData || !targetCast.CriticRating.HasValue) - { - targetCast.CriticRating = sourceCast.CriticRating; - } + target.CriticRating = source.CriticRating; + } - if (replaceData || string.IsNullOrEmpty(targetCast.CriticRatingSummary)) - { - targetCast.CriticRatingSummary = sourceCast.CriticRatingSummary; - } + if (replaceData || string.IsNullOrEmpty(target.CriticRatingSummary)) + { + target.CriticRatingSummary = source.CriticRatingSummary; } } diff --git a/MediaBrowser.Providers/Omdb/OmdbProvider.cs b/MediaBrowser.Providers/Omdb/OmdbProvider.cs index f3766f007..8fb4d8fcc 100644 --- a/MediaBrowser.Providers/Omdb/OmdbProvider.cs +++ b/MediaBrowser.Providers/Omdb/OmdbProvider.cs @@ -66,28 +66,24 @@ namespace MediaBrowser.Providers.Omdb item.ProductionYear = year; } - var hasCriticRating = item as IHasCriticRating; - if (hasCriticRating != null) - { - // Seeing some bogus RT data on omdb for series, so filter it out here - // RT doesn't even have tv series - int tomatoMeter; + // Seeing some bogus RT data on omdb for series, so filter it out here + // RT doesn't even have tv series + int tomatoMeter; - if (!string.IsNullOrEmpty(result.tomatoMeter) - && int.TryParse(result.tomatoMeter, NumberStyles.Integer, _usCulture, out tomatoMeter) - && tomatoMeter >= 0) - { - hasCriticRating.CriticRating = tomatoMeter; - } + if (!string.IsNullOrEmpty(result.tomatoMeter) + && int.TryParse(result.tomatoMeter, NumberStyles.Integer, _usCulture, out tomatoMeter) + && tomatoMeter >= 0) + { + item.CriticRating = tomatoMeter; + } - if (!string.IsNullOrEmpty(result.tomatoConsensus) - && !string.Equals(result.tomatoConsensus, "No consensus yet.", StringComparison.OrdinalIgnoreCase)) - { - hasCriticRating.CriticRatingSummary = WebUtility.HtmlDecode(result.tomatoConsensus); - } - } + if (!string.IsNullOrEmpty(result.tomatoConsensus) + && !string.Equals(result.tomatoConsensus, "No consensus yet.", StringComparison.OrdinalIgnoreCase)) + { + item.CriticRatingSummary = WebUtility.HtmlDecode(result.tomatoConsensus); + } - int voteCount; + int voteCount; if (!string.IsNullOrEmpty(result.imdbVotes) && int.TryParse(result.imdbVotes, NumberStyles.Number, _usCulture, out voteCount) @@ -167,25 +163,21 @@ namespace MediaBrowser.Providers.Omdb item.ProductionYear = year; } - var hasCriticRating = item as IHasCriticRating; - if (hasCriticRating != null) - { - // Seeing some bogus RT data on omdb for series, so filter it out here - // RT doesn't even have tv series - int tomatoMeter; + // Seeing some bogus RT data on omdb for series, so filter it out here + // RT doesn't even have tv series + int tomatoMeter; - if (!string.IsNullOrEmpty(result.tomatoMeter) - && int.TryParse(result.tomatoMeter, NumberStyles.Integer, _usCulture, out tomatoMeter) - && tomatoMeter >= 0) - { - hasCriticRating.CriticRating = tomatoMeter; - } + if (!string.IsNullOrEmpty(result.tomatoMeter) + && int.TryParse(result.tomatoMeter, NumberStyles.Integer, _usCulture, out tomatoMeter) + && tomatoMeter >= 0) + { + item.CriticRating = tomatoMeter; + } - if (!string.IsNullOrEmpty(result.tomatoConsensus) - && !string.Equals(result.tomatoConsensus, "No consensus yet.", StringComparison.OrdinalIgnoreCase)) - { - hasCriticRating.CriticRatingSummary = WebUtility.HtmlDecode(result.tomatoConsensus); - } + if (!string.IsNullOrEmpty(result.tomatoConsensus) + && !string.Equals(result.tomatoConsensus, "No consensus yet.", StringComparison.OrdinalIgnoreCase)) + { + item.CriticRatingSummary = WebUtility.HtmlDecode(result.tomatoConsensus); } int voteCount; @@ -420,12 +412,8 @@ namespace MediaBrowser.Providers.Omdb hasAwards.AwardSummary = WebUtility.HtmlDecode(result.Awards); } - var hasShortOverview = item as IHasShortOverview; - if (hasShortOverview != null) - { - // Imdb plots are usually pretty short - hasShortOverview.ShortOverview = result.Plot; - } + // Imdb plots are usually pretty short + item.ShortOverview = result.Plot; //if (!string.IsNullOrWhiteSpace(result.Director)) //{ |
