aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-02-09 16:58:30 -0500
committerLuke <luke.pulverenti@gmail.com>2015-02-09 16:58:30 -0500
commit4cc3b2f0ccd7c092a4acf72db4903415e175037a (patch)
treef9f90f8665b726253b8b357674f2f141aa43abc9 /MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs
parente7037a9b80843c127712f11430239f8fa3cb4aed (diff)
parent3d7089a7dbabb652730c892206ca050f52f832b1 (diff)
Merge pull request #1005 from MediaBrowser/dev
3.0.5518.0
Diffstat (limited to 'MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs')
-rw-r--r--MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs32
1 files changed, 9 insertions, 23 deletions
diff --git a/MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs b/MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs
index 5afaaa875..3ac3cccb3 100644
--- a/MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs
+++ b/MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs
@@ -2,16 +2,15 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
-using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Localization;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Providers.Manager;
-using System;
using System.Collections.Generic;
using System.Linq;
+using System.Threading.Tasks;
namespace MediaBrowser.Providers.BoxSets
{
@@ -51,31 +50,18 @@ namespace MediaBrowser.Providers.BoxSets
}
}
- protected override ItemUpdateType BeforeSave(BoxSet item)
+ protected override async Task<ItemUpdateType> BeforeSave(BoxSet item, bool isFullRefresh, ItemUpdateType currentUpdateType)
{
- var updateType = base.BeforeSave(item);
+ var updateType = await base.BeforeSave(item, isFullRefresh, currentUpdateType).ConfigureAwait(false);
- if (!item.LockedFields.Contains(MetadataFields.OfficialRating))
+ if (isFullRefresh || currentUpdateType > ItemUpdateType.None)
{
- var currentOfficialRating = item.OfficialRating;
-
- // Gather all possible ratings
- var ratings = item.RecursiveChildren
- .Concat(item.GetLinkedChildren())
- .Where(i => i is Movie || i is Series)
- .Select(i => i.OfficialRating)
- .Where(i => !string.IsNullOrEmpty(i))
- .Distinct(StringComparer.OrdinalIgnoreCase)
- .Select(i => new Tuple<string, int?>(i, _iLocalizationManager.GetRatingLevel(i)))
- .OrderBy(i => i.Item2 ?? 1000)
- .Select(i => i.Item1);
-
- item.OfficialRating = ratings.FirstOrDefault() ?? item.OfficialRating;
-
- if (!string.Equals(currentOfficialRating ?? string.Empty, item.OfficialRating ?? string.Empty,
- StringComparison.OrdinalIgnoreCase))
+ if (!item.LockedFields.Contains(MetadataFields.OfficialRating))
{
- updateType = updateType | ItemUpdateType.MetadataEdit;
+ if (item.UpdateRatingToContent())
+ {
+ updateType = updateType | ItemUpdateType.MetadataEdit;
+ }
}
}