aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.XbmcMetadata
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.XbmcMetadata')
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs21
-rw-r--r--MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs59
2 files changed, 46 insertions, 34 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
index a8800431e..3ad8e1f69 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
@@ -312,8 +312,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
if (user is not null)
{
userData = _userDataManager.GetUserData(user, item);
- userData.Played = played;
- _userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
+ if (userData is not null)
+ {
+ userData.Played = played;
+ _userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
+ }
}
}
@@ -326,8 +329,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
if (user is not null)
{
userData = _userDataManager.GetUserData(user, item);
- userData.PlayCount = count;
- _userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
+ if (userData is not null)
+ {
+ userData.PlayCount = count;
+ _userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
+ }
}
}
@@ -340,8 +346,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
if (user is not null)
{
userData = _userDataManager.GetUserData(user, item);
- userData.LastPlayedDate = lastPlayed;
- _userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
+ if (userData is not null)
+ {
+ userData.LastPlayedDate = lastPlayed;
+ _userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
+ }
}
}
diff --git a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
index a547779de..a3c200447 100644
--- a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
+++ b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
@@ -869,43 +869,46 @@ namespace MediaBrowser.XbmcMetadata.Savers
var userdata = userDataRepo.GetUserData(user, item);
- writer.WriteElementString(
- "isuserfavorite",
- userdata.IsFavorite.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
-
- if (userdata.Rating.HasValue)
- {
- writer.WriteElementString(
- "userrating",
- userdata.Rating.Value.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
- }
-
- if (!item.IsFolder)
+ if (userdata is not null)
{
writer.WriteElementString(
- "playcount",
- userdata.PlayCount.ToString(CultureInfo.InvariantCulture));
- writer.WriteElementString(
- "watched",
- userdata.Played.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
+ "isuserfavorite",
+ userdata.IsFavorite.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
- if (userdata.LastPlayedDate.HasValue)
+ if (userdata.Rating.HasValue)
{
writer.WriteElementString(
- "lastplayed",
- userdata.LastPlayedDate.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture).ToLowerInvariant());
+ "userrating",
+ userdata.Rating.Value.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
}
- writer.WriteStartElement("resume");
+ if (!item.IsFolder)
+ {
+ writer.WriteElementString(
+ "playcount",
+ userdata.PlayCount.ToString(CultureInfo.InvariantCulture));
+ writer.WriteElementString(
+ "watched",
+ userdata.Played.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
- var runTimeTicks = item.RunTimeTicks ?? 0;
+ if (userdata.LastPlayedDate.HasValue)
+ {
+ writer.WriteElementString(
+ "lastplayed",
+ userdata.LastPlayedDate.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture).ToLowerInvariant());
+ }
- writer.WriteElementString(
- "position",
- TimeSpan.FromTicks(userdata.PlaybackPositionTicks).TotalSeconds.ToString(CultureInfo.InvariantCulture));
- writer.WriteElementString(
- "total",
- TimeSpan.FromTicks(runTimeTicks).TotalSeconds.ToString(CultureInfo.InvariantCulture));
+ writer.WriteStartElement("resume");
+
+ var runTimeTicks = item.RunTimeTicks ?? 0;
+
+ writer.WriteElementString(
+ "position",
+ TimeSpan.FromTicks(userdata.PlaybackPositionTicks).TotalSeconds.ToString(CultureInfo.InvariantCulture));
+ writer.WriteElementString(
+ "total",
+ TimeSpan.FromTicks(runTimeTicks).TotalSeconds.ToString(CultureInfo.InvariantCulture));
+ }
}
writer.WriteEndElement();