aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikal Stordal <mikalstordal@gmail.com>2022-06-25 23:47:21 +0200
committerMikal Stordal <mikalstordal@gmail.com>2022-07-03 00:32:09 +0200
commit8e1796f08ad36f43c661aece1367a136f749c66e (patch)
treedfb12e014d214ba24aa5009d28bbc1fedf84f9b9
parent28594ececaec447f42f9fec09258ce568de97f06 (diff)
Add escape hatch for Series merging
This is an universal solution for plugins to override how series are merged. The reason to override is so we can set the same provider id on multiple items without merging them, while using another id for merging them. Having an (optional) provider id not tied to any online database allows plugins to use their own rules for merging series.
-rw-r--r--MediaBrowser.Controller/Entities/TV/Series.cs5
-rw-r--r--MediaBrowser.Model/Entities/MetadataProvider.cs6
2 files changed, 11 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs
index a3c4a81fd..727efee50 100644
--- a/MediaBrowser.Controller/Entities/TV/Series.cs
+++ b/MediaBrowser.Controller/Entities/TV/Series.cs
@@ -184,6 +184,11 @@ namespace MediaBrowser.Controller.Entities.TV
list.Insert(0, key);
}
+ if (this.TryGetProviderId(MetadataProvider.Custom, out key))
+ {
+ list.Insert(0, key);
+ }
+
return list;
}
diff --git a/MediaBrowser.Model/Entities/MetadataProvider.cs b/MediaBrowser.Model/Entities/MetadataProvider.cs
index e9c098021..37e3d8864 100644
--- a/MediaBrowser.Model/Entities/MetadataProvider.cs
+++ b/MediaBrowser.Model/Entities/MetadataProvider.cs
@@ -8,6 +8,12 @@ namespace MediaBrowser.Model.Entities
public enum MetadataProvider
{
/// <summary>
+ /// This metadata provider is for users and/or plugins to override the
+ /// default merging behaviour.
+ /// </summary>
+ Custom = 0,
+
+ /// <summary>
/// The imdb.
/// </summary>
Imdb = 2,