Fix tmdb error
This commit is contained in:
parent
2381509376
commit
ee8a090b11
|
@ -65,6 +65,8 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
return movie;
|
return movie;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||||
|
|
||||||
movie = await _tmDbClient.GetMovieAsync(
|
movie = await _tmDbClient.GetMovieAsync(
|
||||||
|
@ -81,6 +83,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
|
|
||||||
return movie;
|
return movie;
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this._logger.LogError(ex, ex.Message);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets a collection from the TMDb API based on its TMDb id.
|
/// Gets a collection from the TMDb API based on its TMDb id.
|
||||||
|
@ -136,6 +144,8 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
return series;
|
return series;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||||
|
|
||||||
series = await _tmDbClient.GetTvShowAsync(
|
series = await _tmDbClient.GetTvShowAsync(
|
||||||
|
@ -152,6 +162,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
|
|
||||||
return series;
|
return series;
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this._logger.LogError(ex, ex.Message);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets a tv season from the TMDb API based on the tv show's TMDb id.
|
/// Gets a tv season from the TMDb API based on the tv show's TMDb id.
|
||||||
|
@ -175,6 +191,8 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
return season;
|
return season;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||||
|
|
||||||
season = await _tmDbClient.GetTvSeasonAsync(
|
season = await _tmDbClient.GetTvSeasonAsync(
|
||||||
|
@ -192,6 +210,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
|
|
||||||
return season;
|
return season;
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this._logger.LogError(ex, ex.Message);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets a movie from the TMDb API based on the tv show's TMDb id.
|
/// Gets a movie from the TMDb API based on the tv show's TMDb id.
|
||||||
|
@ -205,12 +229,19 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
/// <returns>The TMDb tv episode information or null if not found.</returns>
|
/// <returns>The TMDb tv episode information or null if not found.</returns>
|
||||||
public async Task<TvEpisode?> GetEpisodeAsync(int tvShowId, int seasonNumber, int episodeNumber, string language, string imageLanguages, CancellationToken cancellationToken)
|
public async Task<TvEpisode?> GetEpisodeAsync(int tvShowId, int seasonNumber, int episodeNumber, string language, string imageLanguages, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
|
if (!this._config.EnableTmdb)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
var key = $"episode-{tvShowId.ToString(CultureInfo.InvariantCulture)}-s{seasonNumber.ToString(CultureInfo.InvariantCulture)}e{episodeNumber.ToString(CultureInfo.InvariantCulture)}-{language}";
|
var key = $"episode-{tvShowId.ToString(CultureInfo.InvariantCulture)}-s{seasonNumber.ToString(CultureInfo.InvariantCulture)}e{episodeNumber.ToString(CultureInfo.InvariantCulture)}-{language}";
|
||||||
if (_memoryCache.TryGetValue(key, out TvEpisode episode))
|
if (_memoryCache.TryGetValue(key, out TvEpisode episode))
|
||||||
{
|
{
|
||||||
return episode;
|
return episode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||||
|
|
||||||
episode = await _tmDbClient.GetTvEpisodeAsync(
|
episode = await _tmDbClient.GetTvEpisodeAsync(
|
||||||
|
@ -229,6 +260,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
|
|
||||||
return episode;
|
return episode;
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this._logger.LogError(ex, ex.Message);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets a person eg. cast or crew member from the TMDb API based on its TMDb id.
|
/// Gets a person eg. cast or crew member from the TMDb API based on its TMDb id.
|
||||||
|
@ -249,6 +286,9 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
return person;
|
return person;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||||
|
|
||||||
person = await _tmDbClient.GetPersonAsync(
|
person = await _tmDbClient.GetPersonAsync(
|
||||||
|
@ -263,6 +303,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
|
|
||||||
return person;
|
return person;
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this._logger.LogError(ex, ex.Message);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets an item from the TMDb API based on its id from an external service eg. IMDb id, TvDb id.
|
/// Gets an item from the TMDb API based on its id from an external service eg. IMDb id, TvDb id.
|
||||||
|
@ -278,12 +324,19 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
string language,
|
string language,
|
||||||
CancellationToken cancellationToken)
|
CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
|
if (!this._config.EnableTmdb)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
var key = $"find-{source.ToString()}-{externalId.ToString(CultureInfo.InvariantCulture)}-{language}";
|
var key = $"find-{source.ToString()}-{externalId.ToString(CultureInfo.InvariantCulture)}-{language}";
|
||||||
if (_memoryCache.TryGetValue(key, out FindContainer result))
|
if (_memoryCache.TryGetValue(key, out FindContainer result))
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||||
|
|
||||||
result = await _tmDbClient.FindAsync(
|
result = await _tmDbClient.FindAsync(
|
||||||
|
@ -299,6 +352,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this._logger.LogError(ex, ex.Message);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Searches for a tv show using the TMDb API based on its name.
|
/// Searches for a tv show using the TMDb API based on its name.
|
||||||
|
@ -349,12 +408,19 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
/// <returns>The TMDb person information.</returns>
|
/// <returns>The TMDb person information.</returns>
|
||||||
public async Task<IReadOnlyList<SearchPerson>> SearchPersonAsync(string name, CancellationToken cancellationToken)
|
public async Task<IReadOnlyList<SearchPerson>> SearchPersonAsync(string name, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
|
if (!this._config.EnableTmdb)
|
||||||
|
{
|
||||||
|
return new List<SearchPerson>();
|
||||||
|
}
|
||||||
|
|
||||||
var key = $"searchperson-{name}";
|
var key = $"searchperson-{name}";
|
||||||
if (_memoryCache.TryGetValue(key, out SearchContainer<SearchPerson> person))
|
if (_memoryCache.TryGetValue(key, out SearchContainer<SearchPerson> person))
|
||||||
{
|
{
|
||||||
return person.Results;
|
return person.Results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||||
|
|
||||||
var searchResults = await _tmDbClient
|
var searchResults = await _tmDbClient
|
||||||
|
@ -368,6 +434,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
|
|
||||||
return searchResults.Results;
|
return searchResults.Results;
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this._logger.LogError(ex, ex.Message);
|
||||||
|
return new List<SearchPerson>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Searches for a movie based on its name using the TMDb API.
|
/// Searches for a movie based on its name using the TMDb API.
|
||||||
|
@ -402,6 +474,8 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
return movies.Results;
|
return movies.Results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||||
|
|
||||||
var searchResults = await _tmDbClient
|
var searchResults = await _tmDbClient
|
||||||
|
@ -415,6 +489,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
|
|
||||||
return searchResults.Results;
|
return searchResults.Results;
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this._logger.LogError(ex, ex.Message);
|
||||||
|
return new List<SearchMovie>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Searches for a collection based on its name using the TMDb API.
|
/// Searches for a collection based on its name using the TMDb API.
|
||||||
|
@ -425,12 +505,19 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
/// <returns>The TMDb collection information.</returns>
|
/// <returns>The TMDb collection information.</returns>
|
||||||
public async Task<IReadOnlyList<SearchCollection>> SearchCollectionAsync(string name, string language, CancellationToken cancellationToken)
|
public async Task<IReadOnlyList<SearchCollection>> SearchCollectionAsync(string name, string language, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
|
if (!this._config.EnableTmdb)
|
||||||
|
{
|
||||||
|
return new List<SearchCollection>();
|
||||||
|
}
|
||||||
|
|
||||||
var key = $"collectionsearch-{name}-{language}";
|
var key = $"collectionsearch-{name}-{language}";
|
||||||
if (_memoryCache.TryGetValue(key, out SearchContainer<SearchCollection> collections))
|
if (_memoryCache.TryGetValue(key, out SearchContainer<SearchCollection> collections))
|
||||||
{
|
{
|
||||||
return collections.Results;
|
return collections.Results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||||
|
|
||||||
var searchResults = await _tmDbClient
|
var searchResults = await _tmDbClient
|
||||||
|
@ -444,6 +531,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
|
|
||||||
return searchResults.Results;
|
return searchResults.Results;
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this._logger.LogError(ex, ex.Message);
|
||||||
|
return new List<SearchCollection>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the absolute URL of the poster.
|
/// Gets the absolute URL of the poster.
|
||||||
|
|
Loading…
Reference in New Issue