aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.XbmcMetadata
diff options
context:
space:
mode:
authorTheMelmacian <76712303+TheMelmacian@users.noreply.github.com>2025-02-03 16:54:35 -0500
committerBond_009 <bond.009@outlook.com>2025-02-03 16:54:35 -0500
commit51207edf44c4ec74a621a3ea9c5b9ee55c006009 (patch)
tree6512b11c2236e6ef5418935f963dfb46bb091ca5 /MediaBrowser.XbmcMetadata
parentcfeb879519539573575ccc0b60c9c6010fda1543 (diff)
Backport pull request #13092 from jellyfin/release-10.10.z
Fix: handling of <set> elements in NfoParser Original-merge: f333ef74b3cc8444e12ac1210f94daf59c766969 Merged-by: joshuaboniface <joshua@boniface.me> Backported-by: Bond_009 <bond.009@outlook.com>
Diffstat (limited to 'MediaBrowser.XbmcMetadata')
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs23
-rw-r--r--MediaBrowser.XbmcMetadata/Savers/MovieNfoSaver.cs4
2 files changed, 13 insertions, 14 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs
index 2d65188b6..ae7e0322a 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs
@@ -82,21 +82,13 @@ namespace MediaBrowser.XbmcMetadata.Parsers
if (!string.IsNullOrWhiteSpace(val) && movie is not null)
{
- // TODO Handle this better later
- if (!val.Contains('<', StringComparison.Ordinal))
+ try
{
- movie.CollectionName = val;
+ ParseSetXml(val, movie);
}
- else
+ catch (Exception ex)
{
- try
- {
- ParseSetXml(val, movie);
- }
- catch (Exception ex)
- {
- Logger.LogError(ex, "Error parsing set node");
- }
+ Logger.LogError(ex, "Error parsing set node");
}
}
@@ -139,7 +131,12 @@ namespace MediaBrowser.XbmcMetadata.Parsers
// Loop through each element
while (!reader.EOF && reader.ReadState == ReadState.Interactive)
{
- if (reader.NodeType == XmlNodeType.Element)
+ if (reader.NodeType == XmlNodeType.Text && reader.Depth == 1)
+ {
+ movie.CollectionName = reader.Value;
+ break;
+ }
+ else if (reader.NodeType == XmlNodeType.Element)
{
switch (reader.Name)
{
diff --git a/MediaBrowser.XbmcMetadata/Savers/MovieNfoSaver.cs b/MediaBrowser.XbmcMetadata/Savers/MovieNfoSaver.cs
index bc344d87e..e85e369d9 100644
--- a/MediaBrowser.XbmcMetadata/Savers/MovieNfoSaver.cs
+++ b/MediaBrowser.XbmcMetadata/Savers/MovieNfoSaver.cs
@@ -115,7 +115,9 @@ namespace MediaBrowser.XbmcMetadata.Savers
{
if (!string.IsNullOrEmpty(movie.CollectionName))
{
- writer.WriteElementString("set", movie.CollectionName);
+ writer.WriteStartElement("set");
+ writer.WriteElementString("name", movie.CollectionName);
+ writer.WriteEndElement();
}
}
}