aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs')
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs62
1 files changed, 27 insertions, 35 deletions
diff --git a/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs
index 9a814213b..05874ec2c 100644
--- a/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs
+++ b/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs
@@ -253,18 +253,6 @@ namespace MediaBrowser.LocalMetadata.Parsers
break;
}
- case "Website":
- {
- var val = reader.ReadElementContentAsString();
-
- if (!string.IsNullOrWhiteSpace(val))
- {
- item.HomePageUrl = val;
- }
-
- break;
- }
-
case "LockedFields":
{
var val = reader.ReadElementContentAsString();
@@ -462,13 +450,9 @@ namespace MediaBrowser.LocalMetadata.Parsers
{
var val = reader.ReadElementContentAsString();
- var hasTrailers = item as IHasTrailers;
- if (hasTrailers != null)
+ if (!string.IsNullOrWhiteSpace(val))
{
- if (!string.IsNullOrWhiteSpace(val))
- {
- hasTrailers.AddTrailerUrl(val);
- }
+ item.AddTrailerUrl(val);
}
break;
}
@@ -494,11 +478,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
{
using (var subtree = reader.ReadSubtree())
{
- var hasTrailers = item as IHasTrailers;
- if (hasTrailers != null)
- {
- FetchDataFromTrailersNode(subtree, hasTrailers);
- }
+ FetchDataFromTrailersNode(subtree, item);
}
}
else
@@ -726,9 +706,10 @@ namespace MediaBrowser.LocalMetadata.Parsers
}
}
}
-
private void FetchFromSharesNode(XmlReader reader, IHasShares item)
{
+ var list = new List<Share>();
+
reader.MoveToContent();
reader.Read();
@@ -746,20 +727,24 @@ namespace MediaBrowser.LocalMetadata.Parsers
reader.Read();
continue;
}
- using (var subtree = reader.ReadSubtree())
+
+ using (var subReader = reader.ReadSubtree())
{
- var share = GetShareFromNode(subtree);
- if (share != null)
+ var child = GetShare(subReader);
+
+ if (child != null)
{
- item.Shares.Add(share);
+ list.Add(child);
}
}
+
break;
}
-
default:
- reader.Skip();
- break;
+ {
+ reader.Skip();
+ break;
+ }
}
}
else
@@ -767,6 +752,8 @@ namespace MediaBrowser.LocalMetadata.Parsers
reader.Read();
}
}
+
+ item.Shares = list.ToArray();
}
private Share GetShareFromNode(XmlReader reader)
@@ -1012,7 +999,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
}
}
- private void FetchDataFromTrailersNode(XmlReader reader, IHasTrailers item)
+ private void FetchDataFromTrailersNode(XmlReader reader, T item)
{
reader.MoveToContent();
reader.Read();
@@ -1193,6 +1180,11 @@ namespace MediaBrowser.LocalMetadata.Parsers
linkedItem.Path = reader.ReadElementContentAsString();
break;
}
+ case "ItemId":
+ {
+ linkedItem.LibraryItemId = reader.ReadElementContentAsString();
+ break;
+ }
default:
reader.Skip();
@@ -1206,7 +1198,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
}
// This is valid
- if (!string.IsNullOrWhiteSpace(linkedItem.Path))
+ if (!string.IsNullOrWhiteSpace(linkedItem.Path) || !string.IsNullOrWhiteSpace(linkedItem.LibraryItemId))
{
return linkedItem;
}
@@ -1277,7 +1269,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
value = value.Trim().Trim(separator);
- return string.IsNullOrWhiteSpace(value) ? new string[] { } : Split(value, separator, StringSplitOptions.RemoveEmptyEntries);
+ return string.IsNullOrWhiteSpace(value) ? Array.Empty<string>() : Split(value, separator, StringSplitOptions.RemoveEmptyEntries);
}
/// <summary>
@@ -1287,7 +1279,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
/// <param name="separators">The separators.</param>
/// <param name="options">The options.</param>
/// <returns>System.String[][].</returns>
- private static string[] Split(string val, char[] separators, StringSplitOptions options)
+ private string[] Split(string val, char[] separators, StringSplitOptions options)
{
return val.Split(separators, options);
}