aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-12-02 15:10:35 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-12-02 15:10:35 -0500
commitaef79a796dd029849f3d99c4b59d3652bd83b4a9 (patch)
treeb1de73488da139940a64e153fbc369f2dbf44bec /MediaBrowser.Providers
parent12ff39eeafd7bfe81b7d3dd4d3046b5640e33495 (diff)
update xml parsing
Diffstat (limited to 'MediaBrowser.Providers')
-rw-r--r--MediaBrowser.Providers/People/TvdbPersonImageProvider.cs19
-rw-r--r--MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs50
-rw-r--r--MediaBrowser.Providers/TV/TheTVDB/TvdbSeasonImageProvider.cs17
-rw-r--r--MediaBrowser.Providers/TV/TheTVDB/TvdbSeriesImageProvider.cs17
-rw-r--r--MediaBrowser.Providers/TV/TheTVDB/TvdbSeriesProvider.cs77
5 files changed, 145 insertions, 35 deletions
diff --git a/MediaBrowser.Providers/People/TvdbPersonImageProvider.cs b/MediaBrowser.Providers/People/TvdbPersonImageProvider.cs
index 0384ddd253..9335fca9f3 100644
--- a/MediaBrowser.Providers/People/TvdbPersonImageProvider.cs
+++ b/MediaBrowser.Providers/People/TvdbPersonImageProvider.cs
@@ -114,9 +114,10 @@ namespace MediaBrowser.Providers.People
using (var reader = XmlReader.Create(streamReader, settings))
{
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
cancellationToken.ThrowIfCancellationRequested();
@@ -142,6 +143,10 @@ namespace MediaBrowser.Providers.People
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
@@ -158,12 +163,14 @@ namespace MediaBrowser.Providers.People
/// <returns>System.String.</returns>
private RemoteImageInfo FetchImageInfoFromActorNode(string personName, XmlReader reader)
{
- reader.MoveToContent();
-
string name = null;
string image = null;
- while (reader.Read())
+ reader.MoveToContent();
+ reader.Read();
+
+ // Loop through each element
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -186,6 +193,10 @@ namespace MediaBrowser.Providers.People
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(image) &&
diff --git a/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs b/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs
index 139daf9a39..ecc0f6cee6 100644
--- a/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs
+++ b/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeProvider.cs
@@ -340,9 +340,10 @@ namespace MediaBrowser.Providers.TV
using (var reader = XmlReader.Create(streamReader, settings))
{
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -368,6 +369,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
@@ -390,16 +395,15 @@ namespace MediaBrowser.Providers.TV
using (var reader = XmlReader.Create(streamReader, settings))
{
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
-
if (reader.NodeType == XmlNodeType.Element)
{
switch (reader.Name)
{
-
case "FirstAired":
{
var val = reader.ReadElementContentAsString();
@@ -423,6 +427,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
@@ -438,12 +446,13 @@ namespace MediaBrowser.Providers.TV
// Use XmlReader for best performance
using (reader)
{
- reader.MoveToContent();
-
result.ResetPeople();
+ reader.MoveToContent();
+ reader.Read();
+
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
cancellationToken.ThrowIfCancellationRequested();
@@ -507,10 +516,10 @@ namespace MediaBrowser.Providers.TV
case "EpisodeNumber":
{
+ var val = reader.ReadElementContentAsString();
+
if (!item.IndexNumber.HasValue)
{
- var val = reader.ReadElementContentAsString();
-
if (!string.IsNullOrWhiteSpace(val))
{
int rval;
@@ -528,10 +537,10 @@ namespace MediaBrowser.Providers.TV
case "SeasonNumber":
{
+ var val = reader.ReadElementContentAsString();
+
if (!item.ParentIndexNumber.HasValue)
{
- var val = reader.ReadElementContentAsString();
-
if (!string.IsNullOrWhiteSpace(val))
{
int rval;
@@ -621,9 +630,9 @@ namespace MediaBrowser.Providers.TV
case "EpisodeName":
{
+ var val = reader.ReadElementContentAsString();
if (!item.LockedFields.Contains(MetadataFields.Name))
{
- var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val))
{
item.Name = val;
@@ -634,9 +643,9 @@ namespace MediaBrowser.Providers.TV
case "Overview":
{
+ var val = reader.ReadElementContentAsString();
if (!item.LockedFields.Contains(MetadataFields.Overview))
{
- var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val))
{
item.Overview = val;
@@ -756,6 +765,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
@@ -809,9 +822,10 @@ namespace MediaBrowser.Providers.TV
using (reader)
{
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
cancellationToken.ThrowIfCancellationRequested();
@@ -821,9 +835,9 @@ namespace MediaBrowser.Providers.TV
{
case "EpisodeName":
{
+ var val = reader.ReadElementContentAsString();
if (!item.LockedFields.Contains(MetadataFields.Name))
{
- var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val))
{
item.Name += ", " + val;
@@ -834,9 +848,9 @@ namespace MediaBrowser.Providers.TV
case "Overview":
{
+ var val = reader.ReadElementContentAsString();
if (!item.LockedFields.Contains(MetadataFields.Overview))
{
- var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val))
{
item.Overview += Environment.NewLine + Environment.NewLine + val;
@@ -892,6 +906,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
diff --git a/MediaBrowser.Providers/TV/TheTVDB/TvdbSeasonImageProvider.cs b/MediaBrowser.Providers/TV/TheTVDB/TvdbSeasonImageProvider.cs
index 1a611ee9b9..9454277dfc 100644
--- a/MediaBrowser.Providers/TV/TheTVDB/TvdbSeasonImageProvider.cs
+++ b/MediaBrowser.Providers/TV/TheTVDB/TvdbSeasonImageProvider.cs
@@ -126,9 +126,10 @@ namespace MediaBrowser.Providers.TV
using (var reader = XmlReader.Create(streamReader, settings))
{
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
cancellationToken.ThrowIfCancellationRequested();
@@ -149,6 +150,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
@@ -195,7 +200,11 @@ namespace MediaBrowser.Providers.TV
int? voteCount = null;
string thumbnailUrl = null;
- while (reader.Read())
+ reader.MoveToContent();
+ reader.Read();
+
+ // Loop through each element
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -296,6 +305,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
if (!string.IsNullOrEmpty(url) && bannerSeason.HasValue && bannerSeason.Value == seasonNumber)
diff --git a/MediaBrowser.Providers/TV/TheTVDB/TvdbSeriesImageProvider.cs b/MediaBrowser.Providers/TV/TheTVDB/TvdbSeriesImageProvider.cs
index f6cdacd424..5ad96300db 100644
--- a/MediaBrowser.Providers/TV/TheTVDB/TvdbSeriesImageProvider.cs
+++ b/MediaBrowser.Providers/TV/TheTVDB/TvdbSeriesImageProvider.cs
@@ -113,9 +113,10 @@ namespace MediaBrowser.Providers.TV
using (var reader = XmlReader.Create(streamReader, settings))
{
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
cancellationToken.ThrowIfCancellationRequested();
@@ -136,6 +137,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
@@ -181,7 +186,11 @@ namespace MediaBrowser.Providers.TV
int? voteCount = null;
string thumbnailUrl = null;
- while (reader.Read())
+ reader.MoveToContent();
+ reader.Read();
+
+ // Loop through each element
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -283,6 +292,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
if (!string.IsNullOrEmpty(url) && !bannerSeason.HasValue)
diff --git a/MediaBrowser.Providers/TV/TheTVDB/TvdbSeriesProvider.cs b/MediaBrowser.Providers/TV/TheTVDB/TvdbSeriesProvider.cs
index 5147e9d104..e574d223e8 100644
--- a/MediaBrowser.Providers/TV/TheTVDB/TvdbSeriesProvider.cs
+++ b/MediaBrowser.Providers/TV/TheTVDB/TvdbSeriesProvider.cs
@@ -303,9 +303,10 @@ namespace MediaBrowser.Providers.TV
using (var reader = XmlReader.Create(streamReader, settings))
{
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -324,6 +325,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
@@ -541,9 +546,10 @@ namespace MediaBrowser.Providers.TV
using (var reader = XmlReader.Create(streamReader, settings))
{
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
cancellationToken.ThrowIfCancellationRequested();
@@ -570,6 +576,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
@@ -594,8 +604,10 @@ namespace MediaBrowser.Providers.TV
string seriesId = null;
reader.MoveToContent();
+ reader.Read();
- while (reader.Read())
+ // Loop through each element
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -616,7 +628,7 @@ namespace MediaBrowser.Providers.TV
{
var val = reader.ReadElementContentAsString();
- var alias = (val ?? string.Empty).Split(new [] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(GetComparableName);
+ var alias = (val ?? string.Empty).Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(GetComparableName);
titles.AddRange(alias);
break;
}
@@ -675,6 +687,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
foreach (var title in titles)
@@ -770,9 +786,10 @@ namespace MediaBrowser.Providers.TV
using (var reader = XmlReader.Create(streamReader, settings))
{
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
cancellationToken.ThrowIfCancellationRequested();
@@ -808,6 +825,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
@@ -825,9 +846,10 @@ namespace MediaBrowser.Providers.TV
int? seasonNumber = null;
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
cancellationToken.ThrowIfCancellationRequested();
@@ -874,6 +896,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
if (seasonNumber.HasValue && seasonNumber.Value != 0)
@@ -905,9 +931,10 @@ namespace MediaBrowser.Providers.TV
using (var reader = XmlReader.Create(streamReader, settings))
{
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -926,6 +953,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
@@ -943,7 +974,11 @@ namespace MediaBrowser.Providers.TV
var personInfo = new PersonInfo();
- while (reader.Read())
+ reader.MoveToContent();
+ reader.Read();
+
+ // Loop through each element
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -963,6 +998,7 @@ namespace MediaBrowser.Providers.TV
case "id":
{
+ reader.Skip();
break;
}
@@ -998,6 +1034,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
personInfo.Type = PersonType.Actor;
@@ -1013,9 +1053,10 @@ namespace MediaBrowser.Providers.TV
Series item = result.Item;
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
cancellationToken.ThrowIfCancellationRequested();
@@ -1241,6 +1282,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
@@ -1267,9 +1312,10 @@ namespace MediaBrowser.Providers.TV
using (var reader = XmlReader.Create(streamReader, settings))
{
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -1288,6 +1334,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
@@ -1313,9 +1363,10 @@ namespace MediaBrowser.Providers.TV
using (var reader = XmlReader.Create(streamReader, settings))
{
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -1374,6 +1425,10 @@ namespace MediaBrowser.Providers.TV
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
}