Add ReadNormalizedString to XmlReaderExtensions

This commit is contained in:
Patrick Barron
2023-10-06 14:53:05 -04:00
parent 99832642ce
commit 8a7a1cc723
8 changed files with 112 additions and 372 deletions

View File

@@ -276,27 +276,16 @@ namespace MediaBrowser.XbmcMetadata.Parsers
break;
case "originaltitle":
{
var val = reader.ReadElementContentAsString();
if (!string.IsNullOrEmpty(val))
{
item.OriginalTitle = val;
}
break;
}
item.OriginalTitle = reader.ReadNormalizedString();
break;
case "name":
case "title":
case "localtitle":
item.Name = reader.ReadElementContentAsString();
item.Name = reader.ReadNormalizedString();
break;
case "sortname":
item.SortName = reader.ReadElementContentAsString();
item.SortName = reader.ReadNormalizedString();
break;
case "criticrating":
{
var text = reader.ReadElementContentAsString();
@@ -310,40 +299,16 @@ namespace MediaBrowser.XbmcMetadata.Parsers
}
case "sorttitle":
{
var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val))
{
item.ForcedSortName = val;
}
break;
}
item.ForcedSortName = reader.ReadNormalizedString();
break;
case "biography":
case "plot":
case "review":
{
var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val))
{
item.Overview = val;
}
break;
}
item.Overview = reader.ReadNormalizedString();
break;
case "language":
{
var val = reader.ReadElementContentAsString();
item.PreferredMetadataLanguage = val;
break;
}
item.PreferredMetadataLanguage = reader.ReadNormalizedString();
break;
case "watched":
{
var val = reader.ReadElementContentAsBoolean();
@@ -386,14 +351,8 @@ namespace MediaBrowser.XbmcMetadata.Parsers
break;
case "countrycode":
{
var val = reader.ReadElementContentAsString();
item.PreferredMetadataCountryCode = val;
break;
}
item.PreferredMetadataCountryCode = reader.ReadNormalizedString();
break;
case "lockedfields":
{
var val = reader.ReadElementContentAsString();
@@ -415,9 +374,8 @@ namespace MediaBrowser.XbmcMetadata.Parsers
}
case "tagline":
item.Tagline = reader.ReadElementContentAsString();
item.Tagline = reader.ReadNormalizedString();
break;
case "country":
{
var val = reader.ReadElementContentAsString();
@@ -434,29 +392,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
}
case "mpaa":
{
var rating = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(rating))
{
item.OfficialRating = rating;
}
break;
}
item.OfficialRating = reader.ReadNormalizedString();
break;
case "customrating":
{
var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val))
{
item.CustomRating = val;
}
break;
}
item.CustomRating = reader.ReadNormalizedString();
break;
case "runtime":
{
var text = reader.ReadElementContentAsString();
@@ -470,18 +410,13 @@ namespace MediaBrowser.XbmcMetadata.Parsers
}
case "aspectratio":
var aspectRatio = reader.ReadNormalizedString();
if (!string.IsNullOrEmpty(aspectRatio) && item is IHasAspectRatio hasAspectRatio)
{
var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val)
&& item is IHasAspectRatio hasAspectRatio)
{
hasAspectRatio.AspectRatio = val;
}
break;
hasAspectRatio.AspectRatio = aspectRatio;
}
break;
case "lockdata":
{
var val = reader.ReadElementContentAsString();
@@ -495,17 +430,13 @@ namespace MediaBrowser.XbmcMetadata.Parsers
}
case "studio":
var studio = reader.ReadNormalizedString();
if (!string.IsNullOrEmpty(studio))
{
var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val))
{
item.AddStudio(val);
}
break;
item.AddStudio(studio);
}
break;
case "director":
foreach (var director in reader.GetPersonArray(PersonKind.Director))
{
@@ -552,31 +483,24 @@ namespace MediaBrowser.XbmcMetadata.Parsers
break;
case "trailer":
var trailer = reader.ReadNormalizedString();
if (!string.IsNullOrEmpty(trailer))
{
var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val))
{
val = val.Replace("plugin://plugin.video.youtube/?action=play_video&videoid=", BaseNfoSaver.YouTubeWatchUrl, StringComparison.OrdinalIgnoreCase);
item.AddTrailerUrl(val);
}
break;
item.AddTrailerUrl(trailer.Replace(
"plugin://plugin.video.youtube/?action=play_video&videoid=",
BaseNfoSaver.YouTubeWatchUrl,
StringComparison.OrdinalIgnoreCase));
}
break;
case "displayorder":
var displayOrder = reader.ReadNormalizedString();
if (!string.IsNullOrEmpty(displayOrder) && item is IHasDisplayOrder hasDisplayOrder)
{
var val = reader.ReadElementContentAsString();
if (item is IHasDisplayOrder hasDisplayOrder && !string.IsNullOrWhiteSpace(val))
{
hasDisplayOrder.DisplayOrder = val;
}
break;
hasDisplayOrder.DisplayOrder = displayOrder;
}
break;
case "year":
{
var val = reader.ReadElementContentAsString();
@@ -656,16 +580,13 @@ namespace MediaBrowser.XbmcMetadata.Parsers
case "style":
case "tag":
var tag = reader.ReadNormalizedString();
if (!string.IsNullOrEmpty(tag))
{
var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val))
{
item.AddTag(val);
}
break;
item.AddTag(tag);
}
break;
case "fileinfo":
{
if (!reader.IsEmptyElement)

View File

@@ -5,6 +5,7 @@ using System.Threading;
using System.Xml;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Extensions;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
using Microsoft.Extensions.Logging;
@@ -237,17 +238,8 @@ namespace MediaBrowser.XbmcMetadata.Parsers
}
case "showtitle":
{
var showtitle = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(showtitle))
{
item.SeriesName = showtitle;
}
break;
}
item.SeriesName = reader.ReadNormalizedString();
break;
default:
base.FetchDataFromXmlNode(reader, itemResult);
break;

View File

@@ -5,6 +5,7 @@ using System.Xml;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Extensions;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
@@ -113,31 +114,23 @@ namespace MediaBrowser.XbmcMetadata.Parsers
}
case "artist":
var artist = reader.ReadNormalizedString();
if (!string.IsNullOrEmpty(artist) && item is MusicVideo artistVideo)
{
var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val) && item is MusicVideo movie)
{
var list = movie.Artists.ToList();
list.Add(val);
movie.Artists = list.ToArray();
}
break;
var list = artistVideo.Artists.ToList();
list.Add(artist);
artistVideo.Artists = list.ToArray();
}
break;
case "album":
var album = reader.ReadNormalizedString();
if (!string.IsNullOrEmpty(album) && item is MusicVideo albumVideo)
{
var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val) && item is MusicVideo movie)
{
movie.Album = val;
}
break;
albumVideo.Album = album;
}
break;
default:
base.FetchDataFromXmlNode(reader, itemResult);
break;

View File

@@ -2,6 +2,7 @@ using System.Globalization;
using System.Xml;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Extensions;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
using Microsoft.Extensions.Logging;
@@ -56,17 +57,8 @@ namespace MediaBrowser.XbmcMetadata.Parsers
}
case "seasonname":
{
var name = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(name))
{
item.Name = name;
}
break;
}
item.Name = reader.ReadNormalizedString();
break;
default:
base.FetchDataFromXmlNode(reader, itemResult);
break;

View File

@@ -1,9 +1,9 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Xml;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Extensions;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
@@ -76,23 +76,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
}
case "airs_dayofweek":
{
item.AirDays = TVUtils.GetAirDays(reader.ReadElementContentAsString());
break;
}
item.AirDays = TVUtils.GetAirDays(reader.ReadElementContentAsString());
break;
case "airs_time":
{
var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val))
{
item.AirTime = val;
}
break;
}
item.AirTime = reader.ReadNormalizedString();
break;
case "status":
{
var status = reader.ReadElementContentAsString();