diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs index 75ad0d58ca..4cbcd8f27c 100644 --- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs +++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs @@ -107,6 +107,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers // Additional Mappings _validProviderIds.Add("collectionnumber", "TmdbCollection"); _validProviderIds.Add("tmdbcolid", "TmdbCollection"); + _validProviderIds.Add("tmdbcol", "TmdbCollection"); _validProviderIds.Add("imdb_id", "Imdb"); Fetch(item, metadataFile, GetXmlReaderSettings(), cancellationToken); @@ -590,7 +591,18 @@ namespace MediaBrowser.XbmcMetadata.Parsers var provider = reader.GetAttribute("type"); var providerId = reader.ReadElementContentAsString(); - item.TrySetProviderId(provider, providerId); + + if (!string.IsNullOrEmpty(provider)) + { + if (_validProviderIds.TryGetValue(provider, out string? normalizedProvider)) + { + item.TrySetProviderId(normalizedProvider, providerId); + } + else + { + item.TrySetProviderId(provider, providerId); + } + } break; case "thumb": diff --git a/tests/Jellyfin.XbmcMetadata.Tests/Parsers/MovieNfoParserTests.cs b/tests/Jellyfin.XbmcMetadata.Tests/Parsers/MovieNfoParserTests.cs index e422eb9b8b..1e8652f4b9 100644 --- a/tests/Jellyfin.XbmcMetadata.Tests/Parsers/MovieNfoParserTests.cs +++ b/tests/Jellyfin.XbmcMetadata.Tests/Parsers/MovieNfoParserTests.cs @@ -275,5 +275,24 @@ namespace Jellyfin.XbmcMetadata.Tests.Parsers Assert.StartsWith(">>", item.Overview, StringComparison.InvariantCulture); Assert.EndsWith("<<", item.Overview, StringComparison.InvariantCulture); } + + [Fact] + public void Parse_TmdbcolUniqueId_NormalizedToTmdbCollection() + { + var result = new MetadataResult