diff options
Diffstat (limited to 'MediaBrowser.Providers/Plugins/Tmdb')
7 files changed, 56 insertions, 5 deletions
diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Configuration/PluginConfiguration.cs b/MediaBrowser.Providers/Plugins/Tmdb/Configuration/PluginConfiguration.cs index dec7961484..03aaf380b5 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/Configuration/PluginConfiguration.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/Configuration/PluginConfiguration.cs @@ -23,6 +23,11 @@ namespace MediaBrowser.Providers.Plugins.Tmdb public bool ExcludeTagsMovies { get; set; } /// <summary> + /// Gets or sets a value indicating whether season name should be imported from TMDb. + /// </summary> + public bool ImportSeasonName { get; set; } + + /// <summary> /// Gets or sets a value indicating the maximum number of cast members to fetch for an item. /// </summary> public int MaxCastMembers { get; set; } = 15; @@ -38,6 +43,11 @@ namespace MediaBrowser.Providers.Plugins.Tmdb public string? BackdropSize { get; set; } /// <summary> + /// Gets or sets a value indicating the logo image size to fetch. + /// </summary> + public string? LogoSize { get; set; } + + /// <summary> /// Gets or sets a value indicating the profile image size to fetch. /// </summary> public string? ProfileSize { get; set; } diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Configuration/config.html b/MediaBrowser.Providers/Plugins/Tmdb/Configuration/config.html index 52693795b5..48ec0535c5 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/Configuration/config.html +++ b/MediaBrowser.Providers/Plugins/Tmdb/Configuration/config.html @@ -20,6 +20,10 @@ <input is="emby-checkbox" type="checkbox" id="excludeTagsMovies" /> <span>Exclude tags/keywords from metadata fetched for movies.</span> </label> + <label class="checkboxContainer"> + <input is="emby-checkbox" type="checkbox" id="importSeasonName" /> + <span>Import season name from metadata fetched for series.</span> + </label> <div class="inputContainer"> <input is="emby-input" type="number" id="maxCastMembers" pattern="[0-9]*" required min="0" max="1000" label="Max Cast Members" /> <div class="fieldDescription">The maximum number of cast members to fetch for an item.</div> @@ -33,6 +37,9 @@ <select is="emby-select" id="selectBackdropSize" label="Backdrop"></select> </div> <div class="selectContainer"> + <select is="emby-select" id="selectLogoSize" label="Logo"></select> + </div> + <div class="selectContainer"> <select is="emby-select" id="selectProfileSize" label="Profile"></select> </div> <div class="selectContainer"> @@ -72,6 +79,10 @@ selBackdropSize.innerHTML = clientConfig.BackdropSizes.map(sizeOptionsGenerator); selBackdropSize.value = pluginConfig.BackdropSize; + var selLogoSize = document.querySelector('#selectLogoSize'); + selLogoSize.innerHTML = clientConfig.LogoSizes.map(sizeOptionsGenerator); + selLogoSize.value = pluginConfig.LogoSize; + var selProfileSize = document.querySelector('#selectProfileSize'); selProfileSize.innerHTML = clientConfig.ProfileSizes.map(sizeOptionsGenerator); selProfileSize.value = pluginConfig.ProfileSize; @@ -98,6 +109,7 @@ document.querySelector('#includeAdult').checked = config.IncludeAdult; document.querySelector('#excludeTagsSeries').checked = config.ExcludeTagsSeries; document.querySelector('#excludeTagsMovies').checked = config.ExcludeTagsMovies; + document.querySelector('#importSeasonName').checked = config.ImportSeasonName; var maxCastMembers = document.querySelector('#maxCastMembers'); maxCastMembers.value = config.MaxCastMembers; @@ -120,9 +132,11 @@ config.IncludeAdult = document.querySelector('#includeAdult').checked; config.ExcludeTagsSeries = document.querySelector('#excludeTagsSeries').checked; config.ExcludeTagsMovies = document.querySelector('#excludeTagsMovies').checked; + config.ImportSeasonName = document.querySelector('#importSeasonName').checked; config.MaxCastMembers = document.querySelector('#maxCastMembers').value; config.PosterSize = document.querySelector('#selectPosterSize').value; config.BackdropSize = document.querySelector('#selectBackdropSize').value; + config.LogoSize = document.querySelector('#selectLogoSize').value; config.ProfileSize = document.querySelector('#selectProfileSize').value; config.StillSize = document.querySelector('#selectStillSize').value; ApiClient.updatePluginConfiguration(PluginConfig.pluginId, config).then(Dashboard.processPluginConfigurationUpdateResult); diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieImageProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieImageProvider.cs index f71f7bd10d..16f0089f8f 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieImageProvider.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieImageProvider.cs @@ -44,7 +44,8 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.Movies return new List<ImageType> { ImageType.Primary, - ImageType.Backdrop + ImageType.Backdrop, + ImageType.Logo }; } @@ -85,10 +86,12 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.Movies var posters = movie.Images.Posters; var backdrops = movie.Images.Backdrops; - var remoteImages = new List<RemoteImageInfo>(posters.Count + backdrops.Count); + var logos = movie.Images.Logos; + var remoteImages = new List<RemoteImageInfo>(posters.Count + backdrops.Count + logos.Count); _tmdbClientManager.ConvertPostersToRemoteImageInfo(posters, language, remoteImages); _tmdbClientManager.ConvertBackdropsToRemoteImageInfo(backdrops, language, remoteImages); + _tmdbClientManager.ConvertLogosToRemoteImageInfo(logos, language, remoteImages); return remoteImages; } diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs index e4a56fde94..f14f31858c 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs @@ -312,7 +312,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.Movies var trailers = new List<MediaUrl>(); for (var i = 0; i < movieResult.Videos.Results.Count; i++) { - var video = movieResult.Videos.Results[0]; + var video = movieResult.Videos.Results[i]; if (!TmdbUtils.IsTrailerType(video)) { continue; diff --git a/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonProvider.cs index 27c52a5a22..64ed3f408d 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonProvider.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonProvider.cs @@ -59,6 +59,11 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV Overview = seasonResult.Overview }; + if (Plugin.Instance.Configuration.ImportSeasonName) + { + result.Item.Name = seasonResult.Name; + } + if (!string.IsNullOrEmpty(seasonResult.ExternalIds?.TvdbId)) { result.Item.SetProviderId(MetadataProvider.Tvdb, seasonResult.ExternalIds.TvdbId); diff --git a/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesImageProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesImageProvider.cs index 5ef3736c4f..130d6ce448 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesImageProvider.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesImageProvider.cs @@ -42,7 +42,8 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV return new List<ImageType> { ImageType.Primary, - ImageType.Backdrop + ImageType.Backdrop, + ImageType.Logo }; } @@ -69,10 +70,12 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV var posters = series.Images.Posters; var backdrops = series.Images.Backdrops; - var remoteImages = new List<RemoteImageInfo>(posters.Count + backdrops.Count); + var logos = series.Images.Logos; + var remoteImages = new List<RemoteImageInfo>(posters.Count + backdrops.Count + logos.Count); _tmdbClientManager.ConvertPostersToRemoteImageInfo(posters, language, remoteImages); _tmdbClientManager.ConvertBackdropsToRemoteImageInfo(backdrops, language, remoteImages); + _tmdbClientManager.ConvertLogosToRemoteImageInfo(logos, language, remoteImages); return remoteImages; } diff --git a/MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs b/MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs index 28d6f4d0c1..d78652834d 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs @@ -544,6 +544,17 @@ namespace MediaBrowser.Providers.Plugins.Tmdb } /// <summary> + /// Converts logo <see cref="ImageData"/>s into <see cref="RemoteImageInfo"/>s. + /// </summary> + /// <param name="images">The input images.</param> + /// <param name="requestLanguage">The requested language.</param> + /// <param name="results">The collection to add the remote images into.</param> + public void ConvertLogosToRemoteImageInfo(List<ImageData> images, string requestLanguage, List<RemoteImageInfo> results) + { + ConvertToRemoteImageInfo(images, Plugin.Instance.Configuration.LogoSize, ImageType.Logo, requestLanguage, results); + } + + /// <summary> /// Converts profile <see cref="ImageData"/>s into <see cref="RemoteImageInfo"/>s. /// </summary> /// <param name="images">The input images.</param> @@ -622,6 +633,11 @@ namespace MediaBrowser.Providers.Plugins.Tmdb pluginConfig.BackdropSize = imageConfig.BackdropSizes[^1]; } + if (!imageConfig.LogoSizes.Contains(pluginConfig.LogoSize)) + { + pluginConfig.LogoSize = imageConfig.LogoSizes[^1]; + } + if (!imageConfig.ProfileSizes.Contains(pluginConfig.ProfileSize)) { pluginConfig.ProfileSize = imageConfig.ProfileSizes[^1]; |
