Bläddra i källkod

Make tags import from TMDB configurable

new settings added
zehner 3 år sedan
förälder
incheckning
3d858955b6

+ 10 - 0
MediaBrowser.Providers/Plugins/Tmdb/Configuration/PluginConfiguration.cs

@@ -11,5 +11,15 @@ namespace MediaBrowser.Providers.Plugins.Tmdb
         /// Gets or sets a value indicating whether include adult content when searching with TMDb.
         /// </summary>
         public bool IncludeAdult { get; set; }
+
+        /// <summary>
+        /// Gets or sets a value indicating whether tags should be imported for series from TMDb.
+        /// </summary>
+        public bool ExcludeTagsSeries { get; set; }
+
+        /// <summary>
+        /// Gets or sets a value indicating whether tags should be imported for movies from TMDb.
+        /// </summary>
+        public bool ExcludeTagsMovies { get; set; }
     }
 }

+ 7 - 3
MediaBrowser.Providers/Plugins/Tmdb/Configuration/config.html

@@ -29,20 +29,24 @@
                     Dashboard.showLoadingMsg();
                     ApiClient.getPluginConfiguration(PluginConfig.pluginId).then(function (config) {
                         document.querySelector('#includeAdult').checked = config.IncludeAdult;
+                        document.querySelector('#excludeTagsSeries').checked = config.ExcludeTagsSeries;
+                        document.querySelector('#excludeTagsMovies').checked = config.ExcludeTagsMovies;
                         Dashboard.hideLoadingMsg();
                     });
                 });
 
-            
+
             document.querySelector('.configForm')
                 .addEventListener('submit', function (e) {
                     Dashboard.showLoadingMsg();
-    
+
                     ApiClient.getPluginConfiguration(PluginConfig.pluginId).then(function (config) {
                         config.IncludeAdult = document.querySelector('#includeAdult').checked;
+                        config.ExcludeTagsSeries = document.querySelector('#excludeTagsSeries').checked;
+                        config.ExcludeTagsMovies = document.querySelector('#excludeTagsMovies').checked;
                         ApiClient.updatePluginConfiguration(PluginConfig.pluginId, config).then(Dashboard.processPluginConfigurationUpdateResult);
                     });
-                    
+
                     e.preventDefault();
                     return false;
                 });

+ 14 - 2
MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs

@@ -57,11 +57,17 @@ namespace MediaBrowser.Providers.Plugins.Tmdb
 
             await EnsureClientConfigAsync().ConfigureAwait(false);
 
+            var extraMethods = MovieMethods.Credits | MovieMethods.Releases | MovieMethods.Images | MovieMethods.Videos;
+            if (!(Plugin.Instance?.Configuration.ExcludeTagsMovies).GetValueOrDefault())
+            {
+                extraMethods |= MovieMethods.Keywords;
+            }
+
             movie = await _tmDbClient.GetMovieAsync(
                 tmdbId,
                 TmdbUtils.NormalizeLanguage(language),
                 imageLanguages,
-                MovieMethods.Credits | MovieMethods.Releases | MovieMethods.Images | MovieMethods.Keywords | MovieMethods.Videos,
+                extraMethods,
                 cancellationToken).ConfigureAwait(false);
 
             if (movie != null)
@@ -123,11 +129,17 @@ namespace MediaBrowser.Providers.Plugins.Tmdb
 
             await EnsureClientConfigAsync().ConfigureAwait(false);
 
+            var extraMethods = TvShowMethods.Credits | TvShowMethods.Images | TvShowMethods.ExternalIds | TvShowMethods.Videos | TvShowMethods.ContentRatings | TvShowMethods.EpisodeGroups;
+            if (!(Plugin.Instance?.Configuration.ExcludeTagsSeries).GetValueOrDefault())
+            {
+                extraMethods |= TvShowMethods.Keywords;
+            }
+
             series = await _tmDbClient.GetTvShowAsync(
                 tmdbId,
                 language: TmdbUtils.NormalizeLanguage(language),
                 includeImageLanguage: imageLanguages,
-                extraMethods: TvShowMethods.Credits | TvShowMethods.Images | TvShowMethods.Keywords | TvShowMethods.ExternalIds | TvShowMethods.Videos | TvShowMethods.ContentRatings | TvShowMethods.EpisodeGroups,
+                extraMethods: extraMethods,
                 cancellationToken: cancellationToken).ConfigureAwait(false);
 
             if (series != null)