From 8e1796f08ad36f43c661aece1367a136f749c66e Mon Sep 17 00:00:00 2001 From: Mikal Stordal Date: Sat, 25 Jun 2022 23:47:21 +0200 Subject: [PATCH] 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. --- MediaBrowser.Controller/Entities/TV/Series.cs | 5 +++++ MediaBrowser.Model/Entities/MetadataProvider.cs | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index a3c4a81fdc..727efee509 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 e9c098021d..37e3d88645 100644 --- a/MediaBrowser.Model/Entities/MetadataProvider.cs +++ b/MediaBrowser.Model/Entities/MetadataProvider.cs @@ -7,6 +7,12 @@ namespace MediaBrowser.Model.Entities /// public enum MetadataProvider { + /// + /// This metadata provider is for users and/or plugins to override the + /// default merging behaviour. + /// + Custom = 0, + /// /// The imdb. ///