aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata/Parsers
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.LocalMetadata/Parsers')
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs62
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs3
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs3
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs80
4 files changed, 29 insertions, 119 deletions
diff --git a/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs
index 9a814213b3..05874ec2cf 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);
}
diff --git a/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs
index 8bf09e5463..3225603bf6 100644
--- a/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs
+++ b/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs
@@ -12,14 +12,13 @@ namespace MediaBrowser.LocalMetadata.Parsers
{
public class GameSystemXmlParser : BaseItemXmlParser<GameSystem>
{
- private readonly Task _cachedTask = Task.FromResult(true);
public Task FetchAsync(MetadataResult<GameSystem> item, string metadataFile, CancellationToken cancellationToken)
{
Fetch(item, metadataFile, cancellationToken);
cancellationToken.ThrowIfCancellationRequested();
- return _cachedTask;
+ return Task.CompletedTask;
}
/// <summary>
diff --git a/MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs
index abce0582c6..f9b3343964 100644
--- a/MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs
+++ b/MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs
@@ -18,14 +18,13 @@ namespace MediaBrowser.LocalMetadata.Parsers
{
private readonly CultureInfo _usCulture = new CultureInfo("en-US");
- private readonly Task _cachedTask = Task.FromResult(true);
public Task FetchAsync(MetadataResult<Game> item, string metadataFile, CancellationToken cancellationToken)
{
Fetch(item, metadataFile, cancellationToken);
cancellationToken.ThrowIfCancellationRequested();
- return _cachedTask;
+ return Task.CompletedTask;
}
/// <summary>
diff --git a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
index c6ef858140..10f46e5a4a 100644
--- a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
+++ b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
@@ -20,21 +20,6 @@ namespace MediaBrowser.LocalMetadata.Parsers
switch (reader.Name)
{
- case "OwnerUserId":
- {
- var userId = reader.ReadElementContentAsString();
- if (!item.Shares.Any(i => string.Equals(userId, i.UserId, StringComparison.OrdinalIgnoreCase)))
- {
- item.Shares.Add(new Share
- {
- UserId = userId,
- CanEdit = true
- });
- }
-
- break;
- }
-
case "PlaylistMediaType":
{
item.PlaylistMediaType = reader.ReadElementContentAsString();
@@ -57,21 +42,6 @@ namespace MediaBrowser.LocalMetadata.Parsers
}
break;
- case "Shares":
-
- if (!reader.IsEmptyElement)
- {
- using (var subReader = reader.ReadSubtree())
- {
- FetchFromSharesNode(subReader, item);
- }
- }
- else
- {
- reader.Read();
- }
- break;
-
default:
base.FetchDataFromXmlNode(reader, result);
break;
@@ -128,56 +98,6 @@ namespace MediaBrowser.LocalMetadata.Parsers
item.LinkedChildren = list.ToArray(list.Count);
}
- private void FetchFromSharesNode(XmlReader reader, Playlist item)
- {
- var list = new List<Share>();
-
- reader.MoveToContent();
- reader.Read();
-
- // Loop through each element
- while (!reader.EOF && reader.ReadState == ReadState.Interactive)
- {
- if (reader.NodeType == XmlNodeType.Element)
- {
- switch (reader.Name)
- {
- case "Share":
- {
- if (reader.IsEmptyElement)
- {
- reader.Read();
- continue;
- }
-
- using (var subReader = reader.ReadSubtree())
- {
- var child = GetShare(subReader);
-
- if (child != null)
- {
- list.Add(child);
- }
- }
-
- break;
- }
- default:
- {
- reader.Skip();
- break;
- }
- }
- }
- else
- {
- reader.Read();
- }
- }
-
- item.Shares = list;
- }
-
public PlaylistXmlParser(ILogger logger, IProviderManager providerManager, IXmlReaderSettingsFactory xmlReaderSettingsFactory, IFileSystem fileSystem) : base(logger, providerManager, xmlReaderSettingsFactory, fileSystem)
{
}