aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-20 12:49:07 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-20 12:49:07 -0500
commit830c326c3e58b92209e4a8f0071ff48e3a137360 (patch)
tree4a9b5372c331d44787cf31c647fa871b94e2f37f /MediaBrowser.Server.Implementations/Library
parent888b8d619aec031f57cfd03410ccda52edcca958 (diff)
comments
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library')
-rw-r--r--MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs24
1 files changed, 11 insertions, 13 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs
index 2d4540713..ac9b42efb 100644
--- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs
+++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs
@@ -1,7 +1,6 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
@@ -365,24 +364,23 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies
/// <typeparam name="T"></typeparam>
/// <param name="movies">The movies.</param>
/// <returns>``0.</returns>
- private T GetMultiFileMovie<T>(List<T> movies)
+ private T GetMultiFileMovie<T>(IEnumerable<T> movies)
where T : Video, new()
{
- var multiPartMovies = movies.OrderBy(i => i.Path)
- .Where(i => EntityResolutionHelper.IsMultiPartFile(i.Path))
- .ToList();
+ var sortedMovies = movies.OrderBy(i => i.Path).ToList();
- // They must all be part of the sequence
- if (multiPartMovies.Count != movies.Count)
- {
- return null;
- }
+ var firstMovie = sortedMovies[0];
- var firstPart = multiPartMovies[0];
+ // They must all be part of the sequence if we're going to consider it a multi-part movie
+ // Only support up to 8 (matches Plex), to help avoid incorrect detection
+ if (sortedMovies.All(i => EntityResolutionHelper.IsMultiPartFile(i.Path)) && sortedMovies.Count <= 8)
+ {
+ firstMovie.IsMultiPart = true;
- firstPart.IsMultiPart = true;
+ return firstMovie;
+ }
- return firstPart;
+ return null;
}
/// <summary>