aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata/Parsers
diff options
context:
space:
mode:
authorPatrick Barron <barronpm@gmail.com>2023-10-06 14:18:56 -0400
committerPatrick Barron <barronpm@gmail.com>2023-10-06 14:18:56 -0400
commit99832642cebcce3f93b49004a1dd10def3fb227d (patch)
treebf74280df1c7e7ff96f88be50550fe700cd539a2 /MediaBrowser.LocalMetadata/Parsers
parent1a6ec2c74062e28552089a8b85dc5d45224d4e86 (diff)
Add TryParseDateTime and TryParseDateTimeExact to XmlReaderExtensions
Diffstat (limited to 'MediaBrowser.LocalMetadata/Parsers')
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs43
1 files changed, 7 insertions, 36 deletions
diff --git a/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs
index d62862be4..b77b2b43e 100644
--- a/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs
+++ b/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs
@@ -129,26 +129,13 @@ namespace MediaBrowser.LocalMetadata.Parsers
switch (reader.Name)
{
- // DateCreated
case "Added":
- {
- var val = reader.ReadElementContentAsString();
-
- if (!string.IsNullOrWhiteSpace(val))
+ if (reader.TryReadDateTime(Logger, out var dateCreated))
{
- if (DateTime.TryParse(val, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out var added))
- {
- item.DateCreated = added;
- }
- else
- {
- Logger.LogWarning("Invalid Added value found: {Value}", val);
- }
+ item.DateCreated = dateCreated;
}
break;
- }
-
case "OriginalTitle":
{
var val = reader.ReadElementContentAsString();
@@ -465,37 +452,21 @@ namespace MediaBrowser.LocalMetadata.Parsers
case "BirthDate":
case "PremiereDate":
case "FirstAired":
- {
- var firstAired = reader.ReadElementContentAsString();
-
- if (!string.IsNullOrWhiteSpace(firstAired))
+ if (reader.TryReadDateTimeExact("yyyy-MM-dd", out var firstAired))
{
- if (DateTime.TryParseExact(firstAired, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal | DateTimeStyles.AdjustToUniversal, out var airDate) && airDate.Year > 1850)
- {
- item.PremiereDate = airDate;
- item.ProductionYear = airDate.Year;
- }
+ item.PremiereDate = firstAired;
+ item.ProductionYear = firstAired.Year;
}
break;
- }
-
case "DeathDate":
case "EndDate":
- {
- var firstAired = reader.ReadElementContentAsString();
-
- if (!string.IsNullOrWhiteSpace(firstAired))
+ if (reader.TryReadDateTimeExact("yyyy-MM-dd", out var endDate))
{
- if (DateTime.TryParseExact(firstAired, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal | DateTimeStyles.AdjustToUniversal, out var airDate) && airDate.Year > 1850)
- {
- item.EndDate = airDate;
- }
+ item.EndDate = endDate;
}
break;
- }
-
case "CollectionNumber":
var tmdbCollection = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(tmdbCollection))