Revert "Merge pull request #933 from cvium/fix_movie_matching_again"

This reverts commit 77d4fec6eb, reversing
changes made to f274d024ce.
This commit is contained in:
Claus Vium 2019-02-19 17:10:11 +01:00
parent 77d4fec6eb
commit c79324154f

View File

@ -175,55 +175,7 @@ namespace Emby.Naming.Video
return videos; return videos;
} }
var folderName = Path.GetFileName(Path.GetDirectoryName(videos[0].Files[0].Path)); return videos.GroupBy(v => new {v.Name, v.Year}).Select(group => new VideoInfo
if (!string.IsNullOrEmpty(folderName))
{
var videosMatchingFolder = new List<VideoInfo>();
foreach (VideoInfo video in videos)
{
// Only interested in single files
if (video.Files.Count != 1)
{
continue;
}
if (string.Equals(folderName, video.Name, StringComparison.OrdinalIgnoreCase))
{
videosMatchingFolder.Add(video);
}
// Eg. My Movie == My Movie - Some Other Info, TODO doesn't seem like a robust test
else if (video.Name.StartsWith(folderName, StringComparison.OrdinalIgnoreCase) &&
video.Name.Substring(folderName.Length).TrimStart().StartsWith("-"))
{
videosMatchingFolder.Add(video);
}
}
// It is assumed that any non-matching files are random samples, trailers, extras etc.
// So if there's at least one video file matching the folder name, skip the rest.
if (videosMatchingFolder.Count > 0)
{
var primary = videosMatchingFolder[0];
var remainingVideos = videosMatchingFolder.Skip(1);
var videoInfo = new VideoInfo
{
Name = folderName,
Year = primary.Year,
Files = primary.Files,
AlternateVersions = new List<VideoFileInfo>(),
Extras = primary.Extras
};
foreach (VideoInfo video in remainingVideos)
{
videoInfo.AlternateVersions.Add(video.Files.First());
videoInfo.Extras.AddRange(video.Extras);
}
return new[] { videoInfo };
}
}
return videos.GroupBy(v => new { v.Name, v.Year }).Select(group => new VideoInfo
{ {
// Because of the grouping, we can grab the information from the first movie and make it primary // Because of the grouping, we can grab the information from the first movie and make it primary
// The remaining movie matches are 'alternate versions' // The remaining movie matches are 'alternate versions'