aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Providers/TV/EpisodeMetadataService.cs33
-rw-r--r--MediaBrowser.Providers/TV/SeasonMetadataService.cs15
2 files changed, 47 insertions, 1 deletions
diff --git a/MediaBrowser.Providers/TV/EpisodeMetadataService.cs b/MediaBrowser.Providers/TV/EpisodeMetadataService.cs
index a15de4866..b51b11380 100644
--- a/MediaBrowser.Providers/TV/EpisodeMetadataService.cs
+++ b/MediaBrowser.Providers/TV/EpisodeMetadataService.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Controller.Configuration;
+using System;
+using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
@@ -6,12 +7,42 @@ using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Providers.Manager;
using System.Collections.Generic;
+using System.Threading.Tasks;
using CommonIO;
namespace MediaBrowser.Providers.TV
{
public class EpisodeMetadataService : MetadataService<Episode, EpisodeInfo>
{
+ protected override async Task<ItemUpdateType> BeforeSave(Episode item, bool isFullRefresh, ItemUpdateType currentUpdateType)
+ {
+ var updateType = await base.BeforeSave(item, isFullRefresh, currentUpdateType).ConfigureAwait(false);
+
+ if (updateType <= ItemUpdateType.None)
+ {
+ if (!string.Equals(item.SeriesName, item.FindSeriesName(), StringComparison.Ordinal))
+ {
+ updateType |= ItemUpdateType.MetadataImport;
+ }
+ }
+ if (updateType <= ItemUpdateType.None)
+ {
+ if (!string.Equals(item.SeriesSortName, item.FindSeriesSortName(), StringComparison.Ordinal))
+ {
+ updateType |= ItemUpdateType.MetadataImport;
+ }
+ }
+ if (updateType <= ItemUpdateType.None)
+ {
+ if (!string.Equals(item.SeasonName, item.FindSeasonName(), StringComparison.Ordinal))
+ {
+ updateType |= ItemUpdateType.MetadataImport;
+ }
+ }
+
+ return updateType;
+ }
+
protected override void MergeData(MetadataResult<Episode> source, MetadataResult<Episode> target, List<MetadataFields> lockedFields, bool replaceData, bool mergeMetadataSettings)
{
ProviderUtils.MergeBaseItemData(source, target, lockedFields, replaceData, mergeMetadataSettings);
diff --git a/MediaBrowser.Providers/TV/SeasonMetadataService.cs b/MediaBrowser.Providers/TV/SeasonMetadataService.cs
index e4894915d..f3e6f8e9c 100644
--- a/MediaBrowser.Providers/TV/SeasonMetadataService.cs
+++ b/MediaBrowser.Providers/TV/SeasonMetadataService.cs
@@ -35,6 +35,21 @@ namespace MediaBrowser.Providers.TV
updateType |= SaveIsVirtualItem(item, episodes);
}
+ if (updateType <= ItemUpdateType.None)
+ {
+ if (!string.Equals(item.SeriesName, item.FindSeriesName(), StringComparison.Ordinal))
+ {
+ updateType |= ItemUpdateType.MetadataImport;
+ }
+ }
+ if (updateType <= ItemUpdateType.None)
+ {
+ if (!string.Equals(item.SeriesSortName, item.FindSeriesSortName(), StringComparison.Ordinal))
+ {
+ updateType |= ItemUpdateType.MetadataImport;
+ }
+ }
+
return updateType;
}