diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2026-05-04 21:26:26 +0200 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2026-05-04 21:26:26 +0200 |
| commit | 57c0fcd674c659c658369f0aebfd5d9d6787a9d4 (patch) | |
| tree | 7aff23d6f54e913a6a34cb5a2568a07298582444 /MediaBrowser.XbmcMetadata | |
| parent | 68ab58589444091925c15ad20d36f935b7bc2e21 (diff) | |
| parent | ec04313317bed62728b059108cd232e9744f6354 (diff) | |
Merge remote-tracking branch 'upstream/master' into epg-fixes
Diffstat (limited to 'MediaBrowser.XbmcMetadata')
| -rw-r--r-- | MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs index 0757155aac..4ca3aa9ef5 100644 --- a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs +++ b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs @@ -781,26 +781,30 @@ namespace MediaBrowser.XbmcMetadata.Savers private void AddCollectionItems(Folder item, XmlWriter writer) { - var items = item.LinkedChildren + var linkedChildren = item.LinkedChildren .Where(i => i.Type == LinkedChildType.Manual) - .OrderBy(i => i.Path?.Trim()) - .ThenBy(i => i.LibraryItemId?.Trim()) .ToList(); - foreach (var link in items) - { - writer.WriteStartElement("collectionitem"); - - if (!string.IsNullOrWhiteSpace(link.Path)) + // Resolve ItemIds to paths and sort + var itemsWithPaths = linkedChildren + .Select(link => { - writer.WriteElementString("path", link.Path); - } + if (link.ItemId.HasValue && !link.ItemId.Value.Equals(Guid.Empty)) + { + var linkedItem = LibraryManager.GetItemById(link.ItemId.Value); + return linkedItem?.Path; + } - if (!string.IsNullOrWhiteSpace(link.LibraryItemId)) - { - writer.WriteElementString("ItemId", link.LibraryItemId); - } + return null; + }) + .Where(path => !string.IsNullOrWhiteSpace(path)) + .OrderBy(path => path?.Trim()) + .ToList(); + foreach (var path in itemsWithPaths) + { + writer.WriteStartElement("collectionitem"); + writer.WriteElementString("path", path); writer.WriteEndElement(); } } |
