aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Ullmer <daullmer@gmail.com>2021-02-11 12:43:36 +0100
committerDavid Ullmer <daullmer@gmail.com>2021-02-11 12:43:36 +0100
commitdc2f8b5e6b01e4bf47aa47f8833e27aa3a47d2b6 (patch)
treef900dc0971089d887014d7431c1321a336a18d83
parent3a4c33ca5f8dbfa1bcf7b46c76a67e100404c1d4 (diff)
Fix xml loop
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs32
1 files changed, 17 insertions, 15 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
index 34861c463..56c546475 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
@@ -377,9 +377,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
case "watched":
{
+ var val = reader.ReadElementContentAsBoolean();
+
if (userData != null)
{
- userData.Played = reader.ReadElementContentAsBoolean();
+ userData.Played = val;
}
break;
@@ -387,9 +389,13 @@ namespace MediaBrowser.XbmcMetadata.Parsers
case "playcount":
{
- if (userData != null)
+ var val = reader.ReadElementContentAsString();
+ if (!string.IsNullOrWhiteSpace(val) && userData != null)
{
- userData.PlayCount = reader.ReadElementContentAsInt();
+ if (int.TryParse(val.Split(' ')[0], NumberStyles.Integer, UsCulture, out var count))
+ {
+ userData.PlayCount = count;
+ }
}
break;
@@ -397,20 +403,16 @@ namespace MediaBrowser.XbmcMetadata.Parsers
case "lasplayed":
{
- if (userData != null)
+ var val = reader.ReadElementContentAsString();
+ if (!string.IsNullOrWhiteSpace(val) && userData != null)
{
- var val = reader.ReadElementContentAsString();
-
- if (!string.IsNullOrWhiteSpace(val))
+ if (DateTime.TryParse(val, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal, out var added))
{
- if (DateTime.TryParse(val, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal, out var added))
- {
- userData.LastPlayedDate = added.ToUniversalTime();
- }
- else
- {
- Logger.LogWarning("Invalid lastplayed value found: {Value}", val);
- }
+ userData.LastPlayedDate = added.ToUniversalTime();
+ }
+ else
+ {
+ Logger.LogWarning("Invalid lastplayed value found: {Value}", val);
}
}