diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-08-15 12:00:39 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-08-15 12:00:39 -0400 |
| commit | e934783b953ea68b5b5a48445958b0bbad9e4633 (patch) | |
| tree | 7481fd0318a01fb143cc404be0e72a39521c7de1 /MediaBrowser.Server.Implementations/Library | |
| parent | 612b7e55d25131fc92e3bb5e035511409c97946c (diff) | |
initial support of multiple movies in folder
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs index c10db1bfa..94b79f0a1 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs @@ -85,6 +85,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies var collectionType = args.Parent == null ? null : _libraryManager.FindCollectionType(args.Parent); + // Find movies with their own folders if (isDirectory) { if (args.Path.IndexOf("[trailers]", StringComparison.OrdinalIgnoreCase) != -1 || @@ -115,7 +116,41 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies return FindMovie<Movie>(args.Path, args.FileSystemChildren); } - return null; + // Find movies that are mixed in the same folder + if (args.Path.IndexOf("[trailers]", StringComparison.OrdinalIgnoreCase) != -1 || + string.Equals(collectionType, CollectionType.Trailers, StringComparison.OrdinalIgnoreCase)) + { + return ResolveVideo<Trailer>(args); + } + + Video item = null; + + if (args.Path.IndexOf("[musicvideos]", StringComparison.OrdinalIgnoreCase) != -1 || + string.Equals(collectionType, CollectionType.MusicVideos, StringComparison.OrdinalIgnoreCase)) + { + item = ResolveVideo<MusicVideo>(args); + } + + if (args.Path.IndexOf("[adultvideos]", StringComparison.OrdinalIgnoreCase) != -1 || + string.Equals(collectionType, CollectionType.AdultVideos, StringComparison.OrdinalIgnoreCase)) + { + item = ResolveVideo<AdultVideo>(args); + } + + // To find a movie file, the collection type must be movies or boxsets + // Otherwise we'll consider it a plain video and let the video resolver handle it + if (string.Equals(collectionType, CollectionType.Movies, StringComparison.OrdinalIgnoreCase) || + string.Equals(collectionType, CollectionType.BoxSets, StringComparison.OrdinalIgnoreCase)) + { + item = ResolveVideo<Movie>(args); + } + + if (item != null) + { + item.IsInMixedFolder = true; + } + + return item; } /// <summary> |
