diff options
| author | Mikal Stordal <mikalstordal@gmail.com> | 2022-06-25 23:47:21 +0200 |
|---|---|---|
| committer | Mikal Stordal <mikalstordal@gmail.com> | 2022-07-03 00:32:09 +0200 |
| commit | 8e1796f08ad36f43c661aece1367a136f749c66e (patch) | |
| tree | dfb12e014d214ba24aa5009d28bbc1fedf84f9b9 | |
| parent | 28594ececaec447f42f9fec09258ce568de97f06 (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.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Model/Entities/MetadataProvider.cs | 6 |
2 files changed, 11 insertions, 0 deletions
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 @@ -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, |
