diff options
Diffstat (limited to 'MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs')
| -rw-r--r-- | MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs | 62 |
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); } |
