Selaa lähdekoodia

Add IsAutomated to SubtitleSearchRequest

MBR-0001 3 vuotta sitten
vanhempi
sitoutus
ade3afad41

+ 1 - 0
CONTRIBUTORS.md

@@ -149,6 +149,7 @@
  - [skyfrk](https://github.com/skyfrk)
  - [ianjazz246](https://github.com/ianjazz246)
  - [peterspenler](https://github.com/peterspenler)
+ - [MBR-0001](https://github.com/MBR-0001)
 
 # Emby Contributors
 

+ 1 - 1
Jellyfin.Api/Controllers/SubtitleController.cs

@@ -127,7 +127,7 @@ namespace Jellyfin.Api.Controllers
         {
             var video = (Video)_libraryManager.GetItemById(itemId);
 
-            return await _subtitleManager.SearchSubtitles(video, language, isPerfectMatch, CancellationToken.None).ConfigureAwait(false);
+            return await _subtitleManager.SearchSubtitles(video, language, isPerfectMatch, false, CancellationToken.None).ConfigureAwait(false);
         }
 
         /// <summary>

+ 2 - 0
MediaBrowser.Controller/Subtitles/ISubtitleManager.cs

@@ -31,12 +31,14 @@ namespace MediaBrowser.Controller.Subtitles
         /// <param name="video">The video.</param>
         /// <param name="language">Subtitle language.</param>
         /// <param name="isPerfectMatch">Require perfect match.</param>
+        /// <param name="isAutomated">Request is automated.</param>
         /// <param name="cancellationToken">CancellationToken to use for the operation.</param>
         /// <returns>Subtitles, wrapped in task.</returns>
         Task<RemoteSubtitleInfo[]> SearchSubtitles(
             Video video,
             string language,
             bool? isPerfectMatch,
+            bool isAutomated,
             CancellationToken cancellationToken);
 
         /// <summary>

+ 2 - 0
MediaBrowser.Controller/Subtitles/SubtitleSearchRequest.cs

@@ -51,5 +51,7 @@ namespace MediaBrowser.Controller.Subtitles
         public string[] DisabledSubtitleFetchers { get; set; }
 
         public string[] SubtitleFetcherOrder { get; set; }
+
+        public bool IsAutomated { get; set; }
     }
 }

+ 1 - 0
MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs

@@ -557,6 +557,7 @@ namespace MediaBrowser.Providers.MediaInfo
                         subtitleDownloadLanguages,
                         libraryOptions.DisabledSubtitleFetchers,
                         libraryOptions.SubtitleFetcherOrder,
+                        true,
                         cancellationToken).ConfigureAwait(false);
 
                 // Rescan

+ 7 - 1
MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs

@@ -36,6 +36,7 @@ namespace MediaBrowser.Providers.MediaInfo
             IEnumerable<string> languages,
             string[] disabledSubtitleFetchers,
             string[] subtitleFetcherOrder,
+            bool isAutomated,
             CancellationToken cancellationToken)
         {
             var downloadedLanguages = new List<string>();
@@ -51,6 +52,7 @@ namespace MediaBrowser.Providers.MediaInfo
                     lang,
                     disabledSubtitleFetchers,
                     subtitleFetcherOrder,
+                    isAutomated,
                     cancellationToken).ConfigureAwait(false);
 
                 if (downloaded)
@@ -71,6 +73,7 @@ namespace MediaBrowser.Providers.MediaInfo
             string lang,
             string[] disabledSubtitleFetchers,
             string[] subtitleFetcherOrder,
+            bool isAutomated,
             CancellationToken cancellationToken)
         {
             if (video.VideoType != VideoType.VideoFile)
@@ -109,6 +112,7 @@ namespace MediaBrowser.Providers.MediaInfo
                 disabledSubtitleFetchers,
                 subtitleFetcherOrder,
                 mediaType,
+                isAutomated,
                 cancellationToken);
         }
 
@@ -122,6 +126,7 @@ namespace MediaBrowser.Providers.MediaInfo
             string[] disabledSubtitleFetchers,
             string[] subtitleFetcherOrder,
             VideoContentType mediaType,
+            bool isAutomated,
             CancellationToken cancellationToken)
         {
             // There's already subtitles for this language
@@ -169,7 +174,8 @@ namespace MediaBrowser.Providers.MediaInfo
 
                 IsPerfectMatch = requirePerfectMatch,
                 DisabledSubtitleFetchers = disabledSubtitleFetchers,
-                SubtitleFetcherOrder = subtitleFetcherOrder
+                SubtitleFetcherOrder = subtitleFetcherOrder,
+                IsAutomated = isAutomated
             };
 
             if (video is Episode episode)

+ 1 - 0
MediaBrowser.Providers/MediaInfo/SubtitleScheduledTask.cs

@@ -197,6 +197,7 @@ namespace MediaBrowser.Providers.MediaInfo
                     subtitleDownloadLanguages,
                     libraryOptions.DisabledSubtitleFetchers,
                     libraryOptions.SubtitleFetcherOrder,
+                    true,
                     cancellationToken).ConfigureAwait(false);
 
             // Rescan

+ 3 - 2
MediaBrowser.Providers/Subtitles/SubtitleManager.cs

@@ -274,7 +274,7 @@ namespace MediaBrowser.Providers.Subtitles
         }
 
         /// <inheritdoc />
-        public Task<RemoteSubtitleInfo[]> SearchSubtitles(Video video, string language, bool? isPerfectMatch, CancellationToken cancellationToken)
+        public Task<RemoteSubtitleInfo[]> SearchSubtitles(Video video, string language, bool? isPerfectMatch, bool isAutomated, CancellationToken cancellationToken)
         {
             if (video.VideoType != VideoType.VideoFile)
             {
@@ -308,7 +308,8 @@ namespace MediaBrowser.Providers.Subtitles
                 ProductionYear = video.ProductionYear,
                 ProviderIds = video.ProviderIds,
                 RuntimeTicks = video.RunTimeTicks,
-                IsPerfectMatch = isPerfectMatch ?? false
+                IsPerfectMatch = isPerfectMatch ?? false,
+                IsAutomated = isAutomated
             };
 
             if (video is Episode episode)