From 06ec5ebcb99869fdbf8eec08f1dfa46742c053b4 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 3 Aug 2013 20:59:23 -0400 Subject: persist locked fields in xml --- MediaBrowser.Controller/Entities/Folder.cs | 3 +++ .../Providers/BaseItemXmlParser.cs | 29 ++++++++++++++++++++++ 2 files changed, 32 insertions(+) (limited to 'MediaBrowser.Controller') diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 9d394fac6b..fdd24e76b0 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -1064,6 +1064,8 @@ namespace MediaBrowser.Controller.Entities { try { + Logger.Debug("Found shortcut at {0}", i.FullName); + return new LinkedChild { Path = FileSystem.ResolveShortcut(i.FullName), @@ -1082,6 +1084,7 @@ namespace MediaBrowser.Controller.Entities if (!newShortcutLinks.SequenceEqual(currentShortcutLinks)) { Logger.Info("Shortcut links have changed for {0}", Path); + newShortcutLinks.AddRange(currentManualLinks); LinkedChildren = newShortcutLinks; return true; diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs index b290d3bb51..357b38ecf5 100644 --- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs +++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs @@ -235,6 +235,35 @@ namespace MediaBrowser.Controller.Providers break; } + case "LockedFields": + { + var fields = new List(); + + var val = reader.ReadElementContentAsString(); + + if (!string.IsNullOrWhiteSpace(val)) + { + var list = val.Split('|').Select(i => + { + MetadataFields field; + + if (Enum.TryParse(i, true, out field)) + { + return (MetadataFields?)field; + } + + return null; + + }).Where(i => i.HasValue).Select(i => i.Value); + + fields.AddRange(list); + } + + item.LockedFields = fields; + + break; + } + case "TagLines": { FetchFromTaglinesNode(reader.ReadSubtree(), item); -- cgit v1.2.3