From c8da8eefe0ac30a1bb02f0effaf0d38391f3fd7c Mon Sep 17 00:00:00 2001
From: Joe Rogers <1337joe@gmail.com>
Date: Sat, 16 Dec 2023 16:09:10 -0500
Subject: [PATCH 1/3] Add api key to configuration
---
.../Tmdb/Configuration/PluginConfiguration.cs | 6 ++++++
.../Plugins/Tmdb/Configuration/config.html | 20 ++++++++++++++++++-
.../Plugins/Tmdb/TmdbClientManager.cs | 2 +-
3 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Configuration/PluginConfiguration.cs b/MediaBrowser.Providers/Plugins/Tmdb/Configuration/PluginConfiguration.cs
index 03aaf380b5..e9cd81a14e 100644
--- a/MediaBrowser.Providers/Plugins/Tmdb/Configuration/PluginConfiguration.cs
+++ b/MediaBrowser.Providers/Plugins/Tmdb/Configuration/PluginConfiguration.cs
@@ -7,6 +7,12 @@ namespace MediaBrowser.Providers.Plugins.Tmdb
///
public class PluginConfiguration : BasePluginConfiguration
{
+ ///
+ /// Gets or sets a value to use as the API key for accessing TMDb. This is intentionally excluded from the
+ /// settings page as the API key should not need to be changed by most users.
+ ///
+ public string TmdbApiKey { get; set; } = TmdbUtils.ApiKey;
+
///
/// Gets or sets a value indicating whether include adult content when searching with TMDb.
///
diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Configuration/config.html b/MediaBrowser.Providers/Plugins/Tmdb/Configuration/config.html
index cd21516f95..f3c24e7b42 100644
--- a/MediaBrowser.Providers/Plugins/Tmdb/Configuration/config.html
+++ b/MediaBrowser.Providers/Plugins/Tmdb/Configuration/config.html
@@ -64,9 +64,18 @@
var clientConfig, pluginConfig;
var configureImageScaling = function() {
- if (clientConfig === null || pluginConfig === null) {
+ if (clientConfig === undefined || pluginConfig === undefined) {
return;
}
+ if (Object.keys(clientConfig).length === 0) {
+ clientConfig = {
+ PosterSizes: [pluginConfig.PosterSize],
+ BackdropSizes: [pluginConfig.BackdropSize],
+ LogoSizes: [pluginConfig.LogoSize],
+ ProfileSizes: [pluginConfig.ProfileSize],
+ StillSizes: [pluginConfig.StillSize]
+ };
+ }
var sizeOptionsGenerator = function (size) {
return '';
@@ -104,6 +113,15 @@
ApiClient.fetch(request).then(function (config) {
clientConfig = config;
configureImageScaling();
+ }, function (error) {
+ error.text().then(function (contents) {
+ Dashboard.alert({
+ title: error.statusText,
+ message: contents
+ });
+ clientConfig = {};
+ configureImageScaling();
+ });
});
ApiClient.getPluginConfiguration(PluginConfig.pluginId).then(function (config) {
diff --git a/MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs b/MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs
index 72e59c9ac4..1402104334 100644
--- a/MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs
+++ b/MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs
@@ -36,7 +36,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb
public TmdbClientManager(IMemoryCache memoryCache)
{
_memoryCache = memoryCache;
- _tmDbClient = new TMDbClient(TmdbUtils.ApiKey);
+ _tmDbClient = new TMDbClient(Plugin.Instance.Configuration.TmdbApiKey);
// Not really interested in NotFoundException
_tmDbClient.ThrowApiExceptions = false;
}
From f7479bc7301391d1aed9b2cb1104e501087bb6d6 Mon Sep 17 00:00:00 2001
From: Joe Rogers <1337joe@gmail.com>
Date: Sat, 16 Dec 2023 23:28:50 -0500
Subject: [PATCH 2/3] Fix missing posters in collection identify
---
.../Plugins/Tmdb/BoxSets/TmdbBoxSetProvider.cs | 8 +++++---
.../Plugins/Tmdb/Movies/TmdbMovieProvider.cs | 2 +-
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetProvider.cs
index c2018d820e..c76c65591f 100644
--- a/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetProvider.cs
+++ b/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetProvider.cs
@@ -75,12 +75,14 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets
var collections = new RemoteSearchResult[collectionSearchResults.Count];
for (var i = 0; i < collectionSearchResults.Count; i++)
{
+ var result = collectionSearchResults[i];
var collection = new RemoteSearchResult
{
- Name = collectionSearchResults[i].Name,
- SearchProviderName = Name
+ Name = result.Name,
+ SearchProviderName = Name,
+ ImageUrl = _tmdbClientManager.GetPosterUrl(result.PosterPath)
};
- collection.SetProviderId(MetadataProvider.Tmdb, collectionSearchResults[i].Id.ToString(CultureInfo.InvariantCulture));
+ collection.SetProviderId(MetadataProvider.Tmdb, result.Id.ToString(CultureInfo.InvariantCulture));
collections[i] = collection;
}
diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs
index 2f62e117eb..dac7a74ed8 100644
--- a/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs
+++ b/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs
@@ -299,7 +299,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
if (!string.IsNullOrWhiteSpace(person.ProfilePath))
{
- personInfo.ImageUrl = _tmdbClientManager.GetPosterUrl(person.ProfilePath);
+ personInfo.ImageUrl = _tmdbClientManager.GetProfileUrl(person.ProfilePath);
}
if (person.Id > 0)
From e91de654d78c847d482fb9ca315eca31d044d770 Mon Sep 17 00:00:00 2001
From: Joe Rogers <1337joe@gmail.com>
Date: Sun, 17 Dec 2023 22:14:11 -0500
Subject: [PATCH 3/3] Stop saving Jellyfin API key in settings xml
---
.../Plugins/Tmdb/Configuration/PluginConfiguration.cs | 2 +-
MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs | 6 +++++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Configuration/PluginConfiguration.cs b/MediaBrowser.Providers/Plugins/Tmdb/Configuration/PluginConfiguration.cs
index e9cd81a14e..99b759ae29 100644
--- a/MediaBrowser.Providers/Plugins/Tmdb/Configuration/PluginConfiguration.cs
+++ b/MediaBrowser.Providers/Plugins/Tmdb/Configuration/PluginConfiguration.cs
@@ -11,7 +11,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb
/// Gets or sets a value to use as the API key for accessing TMDb. This is intentionally excluded from the
/// settings page as the API key should not need to be changed by most users.
///
- public string TmdbApiKey { get; set; } = TmdbUtils.ApiKey;
+ public string TmdbApiKey { get; set; } = string.Empty;
///
/// Gets or sets a value indicating whether include adult content when searching with TMDb.
diff --git a/MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs b/MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs
index 1402104334..82f2c54f16 100644
--- a/MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs
+++ b/MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs
@@ -36,7 +36,11 @@ namespace MediaBrowser.Providers.Plugins.Tmdb
public TmdbClientManager(IMemoryCache memoryCache)
{
_memoryCache = memoryCache;
- _tmDbClient = new TMDbClient(Plugin.Instance.Configuration.TmdbApiKey);
+
+ var apiKey = Plugin.Instance.Configuration.TmdbApiKey;
+ apiKey = string.IsNullOrEmpty(apiKey) ? TmdbUtils.ApiKey : apiKey;
+ _tmDbClient = new TMDbClient(apiKey);
+
// Not really interested in NotFoundException
_tmDbClient.ThrowApiExceptions = false;
}