aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs')
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs32
1 files changed, 28 insertions, 4 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
index 75ad0d58c..3f83f1d82 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);
@@ -315,7 +316,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
if (userData is not null)
{
userData.Played = played;
- _userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
+
+ if (!item.Id.IsEmpty())
+ {
+ _userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
+ }
}
}
}
@@ -332,7 +337,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
if (userData is not null)
{
userData.PlayCount = count;
- _userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
+
+ if (!item.Id.IsEmpty())
+ {
+ _userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
+ }
}
}
}
@@ -349,7 +358,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
if (userData is not null)
{
userData.LastPlayedDate = lastPlayed;
- _userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
+
+ if (!item.Id.IsEmpty())
+ {
+ _userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
+ }
}
}
}
@@ -590,7 +603,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":