mirror of
https://github.com/Sonarr/Sonarr.git
synced 2026-03-05 13:20:20 -05:00
Fixed: Multiple XML declarations in kodi/xmbc episodes metadata
Closes #8242
This commit is contained in:
committed by
Mark McDowall
parent
52972e7efc
commit
cbd7df2c91
@@ -286,20 +286,20 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Xbmc
|
|||||||
|
|
||||||
var watched = GetExistingWatchedStatus(series, episodeFile.RelativePath);
|
var watched = GetExistingWatchedStatus(series, episodeFile.RelativePath);
|
||||||
|
|
||||||
var xmlResult = string.Empty;
|
|
||||||
var xws = new XmlWriterSettings
|
var xws = new XmlWriterSettings
|
||||||
{
|
{
|
||||||
Encoding = Encoding.UTF8,
|
Encoding = Encoding.UTF8,
|
||||||
Indent = true
|
Indent = true,
|
||||||
|
ConformanceLevel = ConformanceLevel.Fragment
|
||||||
};
|
};
|
||||||
|
|
||||||
|
using var sw = new Utf8StringWriter();
|
||||||
|
using var xw = XmlWriter.Create(sw, xws);
|
||||||
|
|
||||||
|
xw.WriteProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"");
|
||||||
|
|
||||||
foreach (var episode in episodeFile.Episodes.Value)
|
foreach (var episode in episodeFile.Episodes.Value)
|
||||||
{
|
{
|
||||||
var doc = new XDocument
|
|
||||||
{
|
|
||||||
Declaration = new XDeclaration("1.0", "UTF-8", "yes")
|
|
||||||
};
|
|
||||||
|
|
||||||
var image = episode.Images.SingleOrDefault(i => i.CoverType == MediaCoverTypes.Screenshot);
|
var image = episode.Images.SingleOrDefault(i => i.CoverType == MediaCoverTypes.Screenshot);
|
||||||
|
|
||||||
var details = new XElement("episodedetails");
|
var details = new XElement("episodedetails");
|
||||||
@@ -391,17 +391,12 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Xbmc
|
|||||||
// details.Add(new XElement("credits", tvdbEpisode.Writer.FirstOrDefault()));
|
// details.Add(new XElement("credits", tvdbEpisode.Writer.FirstOrDefault()));
|
||||||
// details.Add(new XElement("director", tvdbEpisode.Directors.FirstOrDefault()));
|
// details.Add(new XElement("director", tvdbEpisode.Directors.FirstOrDefault()));
|
||||||
|
|
||||||
using var sw = new Utf8StringWriter();
|
details.WriteTo(xw);
|
||||||
using var xw = XmlWriter.Create(sw, xws);
|
|
||||||
|
|
||||||
doc.Add(details);
|
|
||||||
doc.Save(xw);
|
|
||||||
xw.Flush();
|
|
||||||
|
|
||||||
xmlResult += sw.ToString();
|
|
||||||
xmlResult += Environment.NewLine;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xw.Flush();
|
||||||
|
var xmlResult = sw.ToString();
|
||||||
|
|
||||||
return new MetadataFileResult(GetEpisodeMetadataFilename(episodeFile.RelativePath), xmlResult.Trim(Environment.NewLine.ToCharArray()));
|
return new MetadataFileResult(GetEpisodeMetadataFilename(episodeFile.RelativePath), xmlResult.Trim(Environment.NewLine.ToCharArray()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user