aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-08-03 20:59:23 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-08-03 20:59:23 -0400
commit06ec5ebcb99869fdbf8eec08f1dfa46742c053b4 (patch)
tree5ceb9fa88a327bcb98f69a74b8eb85e0b5433fb1 /MediaBrowser.Controller
parentf05ec44742fd04c077c867d877a655e328a31d16 (diff)
persist locked fields in xml
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs3
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs29
2 files changed, 32 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 9d394fac6..fdd24e76b 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 b290d3bb5..357b38ecf 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<MetadataFields>();
+
+ var val = reader.ReadElementContentAsString();
+
+ if (!string.IsNullOrWhiteSpace(val))
+ {
+ var list = val.Split('|').Select(i =>
+ {
+ MetadataFields field;
+
+ if (Enum.TryParse<MetadataFields>(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);