Просмотр исходного кода

Merge pull request #924 from cvium/fix_movie_matching

Use the movie name instead of folder name
Vasily 6 лет назад
Родитель
Сommit
f274d024ce
1 измененных файлов с 9 добавлено и 16 удалено
  1. 9 16
      Emby.Naming/Video/VideoListResolver.cs

+ 9 - 16
Emby.Naming/Video/VideoListResolver.cs

@@ -175,23 +175,16 @@ namespace Emby.Naming.Video
                 return videos;
             }
 
-            var folderName = Path.GetFileName(Path.GetDirectoryName(videos[0].Files[0].Path));
-
-            if (!string.IsNullOrEmpty(folderName) && folderName.Length > 1)
+            return videos.GroupBy(v => new {v.Name, v.Year}).Select(group => new VideoInfo
             {
-                var ordered = videos.OrderBy(i => i.Name);
-
-                return ordered.GroupBy(v => new {v.Name, v.Year}).Select(group => new VideoInfo
-                {
-                    Name = folderName,
-                    Year = group.First().Year,
-                    Files = group.First().Files,
-                    AlternateVersions = group.Skip(1).Select(i => i.Files[0]).ToList(),
-                    Extras = group.First().Extras.Concat(group.Skip(1).SelectMany(i => i.Extras)).ToList()
-                });
-            }
-
-            return videos;
+                // Because of the grouping, we can grab the information from the first movie and make it primary
+                // The remaining movie matches are 'alternate versions'
+                Name = group.First().Name,
+                Year = group.First().Year,
+                Files = group.First().Files,
+                AlternateVersions = group.Skip(1).Select(i => i.Files[0]).ToList(),
+                Extras = group.First().Extras.Concat(group.Skip(1).SelectMany(i => i.Extras)).ToList()
+            });
         }
 
         private List<VideoFileInfo> GetExtras(IEnumerable<VideoFileInfo> remainingFiles, List<string> baseNames)