diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-08-20 11:28:33 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-08-20 11:28:33 -0400 |
| commit | 8035fe19a6ea67215a10451b1a0370fb3c3acb58 (patch) | |
| tree | 221745ab78715c516051341178b346aa53325365 | |
| parent | 996b0ae590e84ec73e40c776c6d13471dfc03e06 (diff) | |
| parent | 80fb3c9eb4a94b435f56e9011853aae4397f6af9 (diff) | |
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
7 files changed, 54 insertions, 13 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)) { diff --git a/MediaBrowser.Providers/Movies/MovieDbProvider.cs b/MediaBrowser.Providers/Movies/MovieDbProvider.cs index 25653ef59..37b4ce386 100644 --- a/MediaBrowser.Providers/Movies/MovieDbProvider.cs +++ b/MediaBrowser.Providers/Movies/MovieDbProvider.cs @@ -653,7 +653,7 @@ namespace MediaBrowser.Providers.Movies { if (!movie.LockedFields.Contains(MetadataFields.Name)) { - movie.Name = movieData.title ?? movieData.original_title ?? movie.Name; + movie.Name = movieData.title ?? movieData.original_title ?? movieData.name ?? movie.Name; } if (!movie.LockedFields.Contains(MetadataFields.Overview)) { @@ -676,6 +676,10 @@ namespace MediaBrowser.Providers.Movies { movie.SetProviderId(MetadataProviders.TmdbCollection, movieData.belongs_to_collection.id.ToString(CultureInfo.InvariantCulture)); } + else + { + movie.SetProviderId(MetadataProviders.TmdbCollection, null); // clear out any old entry + } float rating; string voteAvg = movieData.vote_average.ToString(CultureInfo.InvariantCulture); @@ -1177,6 +1181,7 @@ namespace MediaBrowser.Providers.Movies public string homepage { get; set; } public int id { get; set; } public string imdb_id { get; set; } + public string name { get; set; } public string original_title { get; set; } public string overview { get; set; } public double popularity { get; set; } diff --git a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs index 07f4da342..5c9e90312 100644 --- a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs +++ b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs @@ -67,7 +67,7 @@ namespace MediaBrowser.Providers.Savers "TVcomId", "RottenTomatoesId", "MusicbrainzId", - "CollectionNumber", + "TMDbCollectionId", "Genres", "Genre", "Studios", @@ -343,7 +343,7 @@ namespace MediaBrowser.Providers.Savers if (!string.IsNullOrEmpty(tmdbCollection)) { - builder.Append("<CollectionNumber>" + SecurityElement.Escape(tmdbCollection) + "</CollectionNumber>"); + builder.Append("<TMDbCollectionId>" + SecurityElement.Escape(tmdbCollection) + "</TMDbCollectionId>"); } if (item.Taglines.Count > 0) |
