Fix tmdb error
This commit is contained in:
parent
2381509376
commit
ee8a090b11
|
@ -65,6 +65,8 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
|||
return movie;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||
|
||||
movie = await _tmDbClient.GetMovieAsync(
|
||||
|
@ -81,6 +83,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
|||
|
||||
return movie;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this._logger.LogError(ex, ex.Message);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a collection from the TMDb API based on its TMDb id.
|
||||
|
@ -136,6 +144,8 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
|||
return series;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||
|
||||
series = await _tmDbClient.GetTvShowAsync(
|
||||
|
@ -152,6 +162,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
|||
|
||||
return series;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this._logger.LogError(ex, ex.Message);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||
|
||||
season = await _tmDbClient.GetTvSeasonAsync(
|
||||
|
@ -192,6 +210,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
|||
|
||||
return season;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this._logger.LogError(ex, ex.Message);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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>
|
||||
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}";
|
||||
if (_memoryCache.TryGetValue(key, out TvEpisode episode))
|
||||
{
|
||||
return episode;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||
|
||||
episode = await _tmDbClient.GetTvEpisodeAsync(
|
||||
|
@ -229,6 +260,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
|||
|
||||
return episode;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this._logger.LogError(ex, ex.Message);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||
|
||||
person = await _tmDbClient.GetPersonAsync(
|
||||
|
@ -263,6 +303,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
|||
|
||||
return person;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this._logger.LogError(ex, ex.Message);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
if (!this._config.EnableTmdb)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var key = $"find-{source.ToString()}-{externalId.ToString(CultureInfo.InvariantCulture)}-{language}";
|
||||
if (_memoryCache.TryGetValue(key, out FindContainer result))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||
|
||||
result = await _tmDbClient.FindAsync(
|
||||
|
@ -299,6 +352,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
|||
|
||||
return result;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this._logger.LogError(ex, ex.Message);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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>
|
||||
public async Task<IReadOnlyList<SearchPerson>> SearchPersonAsync(string name, CancellationToken cancellationToken)
|
||||
{
|
||||
if (!this._config.EnableTmdb)
|
||||
{
|
||||
return new List<SearchPerson>();
|
||||
}
|
||||
|
||||
var key = $"searchperson-{name}";
|
||||
if (_memoryCache.TryGetValue(key, out SearchContainer<SearchPerson> person))
|
||||
{
|
||||
return person.Results;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||
|
||||
var searchResults = await _tmDbClient
|
||||
|
@ -368,6 +434,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
|||
|
||||
return searchResults.Results;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this._logger.LogError(ex, ex.Message);
|
||||
return new List<SearchPerson>();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Searches for a movie based on its name using the TMDb API.
|
||||
|
@ -402,6 +474,8 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
|||
return movies.Results;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||
|
||||
var searchResults = await _tmDbClient
|
||||
|
@ -415,6 +489,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
|||
|
||||
return searchResults.Results;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this._logger.LogError(ex, ex.Message);
|
||||
return new List<SearchMovie>();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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>
|
||||
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}";
|
||||
if (_memoryCache.TryGetValue(key, out SearchContainer<SearchCollection> collections))
|
||||
{
|
||||
return collections.Results;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
await EnsureClientConfigAsync().ConfigureAwait(false);
|
||||
|
||||
var searchResults = await _tmDbClient
|
||||
|
@ -444,6 +531,12 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
|||
|
||||
return searchResults.Results;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this._logger.LogError(ex, ex.Message);
|
||||
return new List<SearchCollection>();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the absolute URL of the poster.
|
||||
|
|
Loading…
Reference in New Issue