aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-08-15 12:00:39 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-08-15 12:00:39 -0400
commite934783b953ea68b5b5a48445958b0bbad9e4633 (patch)
tree7481fd0318a01fb143cc404be0e72a39521c7de1 /MediaBrowser.Server.Implementations/Library
parent612b7e55d25131fc92e3bb5e035511409c97946c (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.cs37
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>