diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-21 01:10:58 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-21 01:10:58 -0500 |
| commit | 123528327974d9291f5868bb87a0d63437fa1ae5 (patch) | |
| tree | c201611062191638b47c0a60ed655acce20d1871 /MediaBrowser.Server.Implementations/Library | |
| parent | 92c76de2ba01608e37a3f7ba311d2711b2230dc8 (diff) | |
#680 - added auto organize page
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library')
3 files changed, 19 insertions, 2 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs index 9afeb8eb9..1416bd04e 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs @@ -32,6 +32,12 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies return null; } + // This is a bit of a one-off but it's here to combat MCM's over-aggressive placement of collection.xml files where they don't belong, including in series folders. + if (args.ContainsMetaFileByName("series.xml")) + { + return null; + } + if (filename.IndexOf("[boxset]", StringComparison.OrdinalIgnoreCase) != -1 || args.ContainsFileSystemEntryByName("collection.xml")) { return new BoxSet { Path = args.Path }; diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/EpisodeResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/TV/EpisodeResolver.cs index 693594a20..420c9f583 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/EpisodeResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/TV/EpisodeResolver.cs @@ -2,6 +2,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Resolvers; using MediaBrowser.Model.Entities; +using System.Linq; namespace MediaBrowser.Server.Implementations.Library.Resolvers.TV { @@ -17,7 +18,18 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.TV /// <returns>Episode.</returns> protected override Episode Resolve(ItemResolveArgs args) { - var season = args.Parent as Season; + var parent = args.Parent; + var season = parent as Season; + + // Just in case the user decided to nest episodes. + // Not officially supported but in some cases we can handle it. + if (season == null) + { + if (parent != null) + { + season = parent.Parents.OfType<Season>().FirstOrDefault(); + } + } // If the parent is a Season or Series, then this is an Episode if the VideoResolver returns something if (season != null || args.Parent is Series) diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs index 55a485318..1bd975944 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs @@ -1,6 +1,5 @@ using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Entities.Audio; -using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Resolvers; |
