aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-08-20 11:28:33 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-08-20 11:28:33 -0400
commit8035fe19a6ea67215a10451b1a0370fb3c3acb58 (patch)
tree221745ab78715c516051341178b346aa53325365 /MediaBrowser.Controller
parent996b0ae590e84ec73e40c776c6d13471dfc03e06 (diff)
parent80fb3c9eb4a94b435f56e9011853aae4397f6af9 (diff)
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/AggregateFolder.cs11
-rw-r--r--MediaBrowser.Controller/Entities/CollectionFolder.cs32
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs4
-rw-r--r--MediaBrowser.Controller/Entities/Movies/BoxSet.cs7
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs2
5 files changed, 46 insertions, 10 deletions
diff --git a/MediaBrowser.Controller/Entities/AggregateFolder.cs b/MediaBrowser.Controller/Entities/AggregateFolder.cs
index c4fda4fa2..302842e7e 100644
--- a/MediaBrowser.Controller/Entities/AggregateFolder.cs
+++ b/MediaBrowser.Controller/Entities/AggregateFolder.cs
@@ -12,6 +12,17 @@ namespace MediaBrowser.Controller.Entities
public class AggregateFolder : Folder
{
/// <summary>
+ /// We don't support manual shortcuts
+ /// </summary>
+ protected override bool SupportsShortcutChildren
+ {
+ get
+ {
+ return false;
+ }
+ }
+
+ /// <summary>
/// The _virtual children
/// </summary>
private readonly ConcurrentBag<BaseItem> _virtualChildren = new ConcurrentBag<BaseItem>();
diff --git a/MediaBrowser.Controller/Entities/CollectionFolder.cs b/MediaBrowser.Controller/Entities/CollectionFolder.cs
index 7d7d60ae5..b080478b8 100644
--- a/MediaBrowser.Controller/Entities/CollectionFolder.cs
+++ b/MediaBrowser.Controller/Entities/CollectionFolder.cs
@@ -70,6 +70,38 @@ namespace MediaBrowser.Controller.Entities
/// <summary>
/// Our children are actually just references to the ones in the physical root...
/// </summary>
+ /// <value>The linked children.</value>
+ public override List<LinkedChild> LinkedChildren
+ {
+ get
+ {
+ ItemResolveArgs resolveArgs;
+
+ try
+ {
+ resolveArgs = ResolveArgs;
+ }
+ catch (IOException ex)
+ {
+ Logger.ErrorException("Error getting ResolveArgs for {0}", ex, Path);
+ return new List<LinkedChild>();
+ }
+
+ return LibraryManager.RootFolder.RecursiveChildren
+ .OfType<Folder>()
+ .Where(i => i.Path != null && resolveArgs.PhysicalLocations.Contains(i.Path, StringComparer.OrdinalIgnoreCase))
+ .SelectMany(c => c.LinkedChildren).ToList();
+
+ }
+ set
+ {
+ base.LinkedChildren = value;
+ }
+ }
+
+ /// <summary>
+ /// Our children are actually just references to the ones in the physical root...
+ /// </summary>
/// <value>The actual children.</value>
protected override ConcurrentDictionary<Guid, BaseItem> ActualChildren
{
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 3eda96d3d..ca43ca616 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -81,11 +81,11 @@ namespace MediaBrowser.Controller.Entities
}
}
- public List<LinkedChild> LinkedChildren { get; set; }
+ public virtual List<LinkedChild> LinkedChildren { get; set; }
protected virtual bool SupportsShortcutChildren
{
- get { return false; }
+ get { return true; }
}
/// <summary>
diff --git a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
index 5c99a62f7..e52ece502 100644
--- a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
+++ b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
@@ -6,12 +6,5 @@ namespace MediaBrowser.Controller.Entities.Movies
/// </summary>
public class BoxSet : Folder
{
- protected override bool SupportsShortcutChildren
- {
- get
- {
- return true;
- }
- }
}
}
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
index 0084fe96c..2761c51e0 100644
--- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
@@ -571,7 +571,7 @@ namespace MediaBrowser.Controller.Providers
}
break;
- case "CollectionNumber":
+ case "TMDbCollectionId":
var tmdbCollection = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(tmdbCollection))
{