소스 검색

Merge pull request #961 from jellyfin/release-10.2.z

Release 10.2.1
Joshua M. Boniface 6 년 전
부모
커밋
d4ded281aa
5개의 변경된 파일69개의 추가작업 그리고 14개의 파일을 삭제
  1. 1 1
      Dockerfile
  2. 36 9
      Emby.Naming/Video/VideoListResolver.cs
  3. 2 2
      SharedVersion.cs
  4. 16 0
      deployment/debian-package-x64/pkg-src/changelog
  5. 14 2
      deployment/fedora-package-x64/pkg-src/jellyfin.spec

+ 1 - 1
Dockerfile

@@ -9,7 +9,7 @@ RUN dotnet publish \
     --output /jellyfin \
     Jellyfin.Server
 
-FROM jrottenberg/ffmpeg:4.0-vaapi as ffmpeg
+FROM jellyfin/ffmpeg as ffmpeg
 FROM microsoft/dotnet:${DOTNET_VERSION}-runtime
 # libfontconfig1 is required for Skia
 RUN apt-get update \

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

@@ -175,25 +175,52 @@ namespace Emby.Naming.Video
                 return videos;
             }
 
+            var list = new List<VideoInfo>();
+
             var folderName = Path.GetFileName(Path.GetDirectoryName(videos[0].Files[0].Path));
 
             if (!string.IsNullOrEmpty(folderName) && folderName.Length > 1)
             {
-                var ordered = videos.OrderBy(i => i.Name);
-
-                return ordered.GroupBy(v => new {v.Name, v.Year}).Select(group => new VideoInfo
+                if (videos.All(i => i.Files.Count == 1 && IsEligibleForMultiVersion(folderName, i.Files[0].Path)))
                 {
-                    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()
-                });
+                    if (HaveSameYear(videos))
+                    {
+                        var ordered = videos.OrderBy(i => i.Name).ToList();
+
+                        list.Add(ordered[0]);
+
+                        list[0].AlternateVersions = ordered.Skip(1).Select(i => i.Files[0]).ToList();
+                        list[0].Name = folderName;
+                        list[0].Extras.AddRange(ordered.Skip(1).SelectMany(i => i.Extras));
+
+                        return list;
+                    }
+                }
             }
 
             return videos;
         }
 
+        private bool HaveSameYear(List<VideoInfo> videos)
+        {
+            return videos.Select(i => i.Year ?? -1).Distinct().Count() < 2;
+        }
+
+        private bool IsEligibleForMultiVersion(string folderName, string testFilename)
+        {
+            testFilename = Path.GetFileNameWithoutExtension(testFilename) ?? string.Empty;
+
+            if (testFilename.StartsWith(folderName, StringComparison.OrdinalIgnoreCase))
+            {
+                testFilename = testFilename.Substring(folderName.Length).Trim();
+                return string.IsNullOrEmpty(testFilename) ||
+                       testFilename.StartsWith("-") ||
+                       string.IsNullOrWhiteSpace(Regex.Replace(testFilename, @"\[([^]]*)\]", string.Empty)) ;
+            }
+
+            return false;
+        }
+
         private List<VideoFileInfo> GetExtras(IEnumerable<VideoFileInfo> remainingFiles, List<string> baseNames)
         {
             foreach (var name in baseNames.ToList())

+ 2 - 2
SharedVersion.cs

@@ -1,4 +1,4 @@
 using System.Reflection;
 
-[assembly: AssemblyVersion("10.2.0")]
-[assembly: AssemblyFileVersion("10.2.0")]
+[assembly: AssemblyVersion("10.2.1")]
+[assembly: AssemblyFileVersion("10.2.1")]

+ 16 - 0
deployment/debian-package-x64/pkg-src/changelog

@@ -1,3 +1,19 @@
+jellyfin (10.2.1-1) unstable; urgency=medium
+
+  * jellyfin:
+  * PR920 Fix cachedir missing from Docker container
+  * PR924 Use the movie name instead of folder name
+  * PR933 Semi-revert to prefer old movie grouping behaviour
+  * PR948 Revert movie matching (supercedes PR933, PR924, PR739)
+  * PR960 Use jellyfin/ffmpeg image
+  * jellyfin-web:
+  * PR136 Re-add OpenSubtitles configuration page
+  * PR137 Replace HeaderEmbyServer with HeaderJellyfinServer on plugincatalog
+  * PR138 Remove left-over JS for Customize Home Screen
+  * PR141 Exit fullscreen automatically after video playback ends
+
+ -- Jellyfin Packaging Team <packaging@jellyfin.org>  Wed, 20 Feb 2019 11:36:16 -0500
+
 jellyfin (10.2.0-2) unstable; urgency=medium
 
   * jellyfin:

+ 14 - 2
deployment/fedora-package-x64/pkg-src/jellyfin.spec

@@ -7,8 +7,8 @@
 %endif
 
 Name:           jellyfin
-Version:        10.2.0
-Release:        2%{?dist}
+Version:        10.2.1
+Release:        1%{?dist}
 Summary:        The Free Software Media Browser
 License:        GPLv2
 URL:            https://jellyfin.media
@@ -140,6 +140,18 @@ fi
 %systemd_postun_with_restart jellyfin.service
 
 %changelog
+* Wed Feb 20 2019 Jellyfin Packaging Team <packaging@jellyfin.org>
+- jellyfin:
+- PR920 Fix cachedir missing from Docker container
+- PR924 Use the movie name instead of folder name
+- PR933 Semi-revert to prefer old movie grouping behaviour
+- PR948 Revert movie matching (supercedes PR933, PR924, PR739)
+- PR960 Use jellyfin/ffmpeg image
+- jellyfin-web:
+- PR136 Re-add OpenSubtitles configuration page
+- PR137 Replace HeaderEmbyServer with HeaderJellyfinServer on plugincatalog
+- PR138 Remove left-over JS for Customize Home Screen
+- PR141 Exit fullscreen automatically after video playback ends
 * Fri Feb 15 2019 Jellyfin Packaging Team <packaging@jellyfin.org>
 - jellyfin:
 - PR452 Use EF Core for Activity database