aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-10-17 12:48:23 -0400
committerGitHub <noreply@github.com>2016-10-17 12:48:23 -0400
commit0fd99d2d08515341fbcd31daa011090bb073cfcd (patch)
treeca299bed13c4a241482c5518ea0bc76f58b5326d /MediaBrowser.Providers
parentb0147c32f9122c6ce695d2919176ed8b50b94fda (diff)
parentb0a75f086e9d48b840ff1594997f68282920f491 (diff)
Merge pull request #2242 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Providers')
-rw-r--r--MediaBrowser.Providers/Manager/ImageSaver.cs6
-rw-r--r--MediaBrowser.Providers/Manager/ItemImageProvider.cs4
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs19
-rw-r--r--MediaBrowser.Providers/Manager/ProviderManager.cs9
-rw-r--r--MediaBrowser.Providers/Manager/ProviderUtils.cs28
-rw-r--r--MediaBrowser.Providers/Omdb/OmdbProvider.cs72
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))
//{