aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
diff options
context:
space:
mode:
authorJPVenson <github@jpb.email>2025-02-05 18:32:13 +0000
committerJPVenson <github@jpb.email>2025-02-05 18:32:13 +0000
commitdfdef511a5b855ee4e4f079236ff43cb508958d5 (patch)
treedb2c5d8cfe13817b165c1d24495947d98c25f670 /MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
parent078587d232ccbfdf6e08c6f1a6435e4e397e4bdc (diff)
parent00b66a06eac4d1331d59a6a9b7de3e99088ebaa9 (diff)
Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider
Diffstat (limited to 'MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs')
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs15
1 files changed, 10 insertions, 5 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
index 59abef919..b0944515b 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
@@ -1,3 +1,4 @@
+using System;
using System.Globalization;
using System.Xml;
using Emby.Naming.TV;
@@ -48,16 +49,20 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
case "id":
{
- item.TrySetProviderId(MetadataProvider.Imdb, reader.GetAttribute("IMDB"));
+ // Get ids from attributes
item.TrySetProviderId(MetadataProvider.Tmdb, reader.GetAttribute("TMDB"));
+ item.TrySetProviderId(MetadataProvider.Tvdb, reader.GetAttribute("TVDB"));
+ string? imdbId = reader.GetAttribute("IMDB");
- string? tvdbId = reader.GetAttribute("TVDB");
- if (string.IsNullOrWhiteSpace(tvdbId))
+ // Read id from content
+ // Content can be arbitrary according to Kodi wiki, so only parse if we are sure it matches a provider-specific schema
+ var contentId = reader.ReadElementContentAsString();
+ if (string.IsNullOrEmpty(imdbId) && contentId.StartsWith("tt", StringComparison.Ordinal))
{
- tvdbId = reader.ReadElementContentAsString();
+ imdbId = contentId;
}
- item.TrySetProviderId(MetadataProvider.Tvdb, tvdbId);
+ item.TrySetProviderId(MetadataProvider.Imdb, imdbId);
break;
}