mirror of https://github.com/jellyfin/jellyfin.git
Determine isInMixedFolder after removing extras from consideration
This allows putting an episode in a folder by itself and having suffixed extras and extra subfolders
This commit is contained in:
parent
bf9c528593
commit
bc93f34ffa
|
@ -279,8 +279,6 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
|
|||
ExtraFiles = leftOver
|
||||
};
|
||||
|
||||
var isInMixedFolder = resolverResult.Count > 1 || parent?.IsTopParent == true;
|
||||
|
||||
foreach (var video in resolverResult)
|
||||
{
|
||||
var firstVideo = video.Files[0];
|
||||
|
@ -296,7 +294,6 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
|
|||
var videoItem = new T
|
||||
{
|
||||
Path = path,
|
||||
IsInMixedFolder = isInMixedFolder,
|
||||
ProductionYear = video.Year,
|
||||
Name = parseName ? video.Name : firstVideo.Name,
|
||||
AdditionalParts = additionalParts,
|
||||
|
@ -311,6 +308,13 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
|
|||
|
||||
result.ExtraFiles.AddRange(files.Where(i => !ContainsFile(resolverResult, i)));
|
||||
|
||||
//calculate if in mixed folder after extra files have been removed from count
|
||||
var isInMixedFolder = result.Items.Count > 1 || parent?.IsTopParent == true;
|
||||
foreach (var item in result.Items)
|
||||
{
|
||||
item.IsInMixedFolder = isInMixedFolder;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -400,6 +400,7 @@ public class FindExtrasTests
|
|||
"/series/Dexter/Dexter - S03E05/Dexter - S03E05 - Fifth.mkv",
|
||||
"/series/Dexter/Dexter - S03E05/Dexter - S03E05 - Fifth-featurette.mkv",
|
||||
"/series/Dexter/Dexter - S03E05/Dexter - S03E05 - Fifth-featurette2.mkv",
|
||||
"/series/Dexter/Dexter - S03E05/Deleted Scenes/Meet Friends.mkv",
|
||||
};
|
||||
|
||||
var files = paths.Select(p => new FileSystemMetadata
|
||||
|
@ -437,13 +438,15 @@ public class FindExtrasTests
|
|||
Assert.Equal("/series/Dexter/Dexter - S02E05-clip.mkv", extras[0].Path);
|
||||
|
||||
// episode folder with special feature subfolders are not supported yet, but it should be considered as not mixed, but current is marked as mixed
|
||||
Folder folderOwner = new Folder { Name = "Dexter - S03E05", Path = "/series/Dexter/Dexter - S03E05", IsInMixedFolder = true };
|
||||
Folder folderOwner = new Folder { Name = "Dexter - S03E05", Path = "/series/Dexter/Dexter - S03E05", IsInMixedFolder = false };
|
||||
extras = _libraryManager.FindExtras(folderOwner, files, new DirectoryService(_fileSystemMock.Object)).OrderBy(e => e.ExtraType).ToList();
|
||||
|
||||
Assert.Equal(2, extras.Count);
|
||||
Assert.Equal(3, extras.Count);
|
||||
Assert.Equal(ExtraType.Clip, extras[0].ExtraType);
|
||||
Assert.Equal(typeof(Video), extras[0].GetType());
|
||||
Assert.Equal("/series/Dexter/Dexter - S03E05/Dexter - S03E05 - Fifth-featurette.mkv", extras[0].Path);
|
||||
Assert.Equal("/series/Dexter/Dexter - S03E05/Dexter - S03E05 - Fifth-featurette2.mkv", extras[1].Path);
|
||||
Assert.Equal(ExtraType.DeletedScene, extras[2].ExtraType);
|
||||
Assert.Equal("/series/Dexter/Dexter - S03E05/Deleted Scenes/Meet Friends.mkv", extras[2].Path);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue