Fix bug
This commit is contained in:
parent
da2ffec151
commit
898a989e68
|
@ -32,6 +32,11 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
|
|
||||||
public async Task<OmdbItem?> GetByImdbID(string id, CancellationToken cancellationToken)
|
public async Task<OmdbItem?> GetByImdbID(string id, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
|
if (!this.IsEnable())
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
var cacheKey = $"GetByImdbID_{id}";
|
var cacheKey = $"GetByImdbID_{id}";
|
||||||
var expiredOption = new MemoryCacheEntryOptions() { AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(30) };
|
var expiredOption = new MemoryCacheEntryOptions() { AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(30) };
|
||||||
OmdbItem? item;
|
OmdbItem? item;
|
||||||
|
@ -69,5 +74,10 @@ namespace Jellyfin.Plugin.MetaShark.Api
|
||||||
_memoryCache.Dispose();
|
_memoryCache.Dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool IsEnable()
|
||||||
|
{
|
||||||
|
return Plugin.Instance?.Configuration.EnableTmdb ?? true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -230,7 +230,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 通过imdb获取tmdbId(豆瓣的imdb id可能是旧的,需要先从omdb接口获取最新的imdb id)
|
|
||||||
protected async Task<string?> GetTmdbIdByImdbAsync(string imdb, string language, CancellationToken cancellationToken)
|
protected async Task<string?> GetTmdbIdByImdbAsync(string imdb, string language, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(imdb))
|
if (string.IsNullOrEmpty(imdb))
|
||||||
|
@ -238,27 +238,30 @@ namespace Jellyfin.Plugin.MetaShark.Providers
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 豆瓣的imdb id可能是旧的,需要先从omdb接口获取最新的imdb id
|
||||||
var omdbItem = await this._omdbApi.GetByImdbID(imdb, cancellationToken).ConfigureAwait(false);
|
var omdbItem = await this._omdbApi.GetByImdbID(imdb, cancellationToken).ConfigureAwait(false);
|
||||||
if (omdbItem != null)
|
if (omdbItem != null)
|
||||||
{
|
{
|
||||||
var findResult = await this._tmdbApi.FindByExternalIdAsync(omdbItem.ImdbID, TMDbLib.Objects.Find.FindExternalSource.Imdb, language, cancellationToken).ConfigureAwait(false);
|
imdb = omdbItem.ImdbID;
|
||||||
if (findResult?.MovieResults != null && findResult.MovieResults.Count > 0)
|
|
||||||
{
|
|
||||||
var tmdbId = findResult.MovieResults[0].Id;
|
|
||||||
this.Log($"Found tmdb [id]: {tmdbId} by imdb id: {imdb}");
|
|
||||||
return $"{tmdbId}";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (findResult?.TvResults != null && findResult.TvResults.Count > 0)
|
|
||||||
{
|
|
||||||
var tmdbId = findResult.TvResults[0].Id;
|
|
||||||
this.Log($"Found tmdb [id]: {tmdbId} by imdb id: {imdb}");
|
|
||||||
return $"{tmdbId}";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 接口出错,返回旧的
|
// 通过imdb获取tmdbId
|
||||||
return imdb;
|
var findResult = await this._tmdbApi.FindByExternalIdAsync(imdb, TMDbLib.Objects.Find.FindExternalSource.Imdb, language, cancellationToken).ConfigureAwait(false);
|
||||||
|
if (findResult?.MovieResults != null && findResult.MovieResults.Count > 0)
|
||||||
|
{
|
||||||
|
var tmdbId = findResult.MovieResults[0].Id;
|
||||||
|
this.Log($"Found tmdb [id]: {tmdbId} by imdb id: {imdb}");
|
||||||
|
return $"{tmdbId}";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (findResult?.TvResults != null && findResult.TvResults.Count > 0)
|
||||||
|
{
|
||||||
|
var tmdbId = findResult.TvResults[0].Id;
|
||||||
|
this.Log($"Found tmdb [id]: {tmdbId} by imdb id: {imdb}");
|
||||||
|
return $"{tmdbId}";
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue