Optimize season meta fetch
This commit is contained in:
parent
02db6790f7
commit
be91a0af8a
|
@ -34,7 +34,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers
|
|||
/// <param name="logger">Instance of the <see cref="ILogger{OddbImageProvider}"/> interface.</param>
|
||||
/// <param name="doubanApi">Instance of <see cref="DoubanApi"/>.</param>
|
||||
public EpisodeImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi)
|
||||
: base(httpClientFactory, loggerFactory.CreateLogger<SeriesProvider>(), libraryManager, doubanApi, tmdbApi, omdbApi)
|
||||
: base(httpClientFactory, loggerFactory.CreateLogger<EpisodeImageProvider>(), libraryManager, doubanApi, tmdbApi, omdbApi)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers
|
|||
/// <param name="logger">Instance of the <see cref="ILogger{OddbImageProvider}"/> interface.</param>
|
||||
/// <param name="doubanApi">Instance of <see cref="DoubanApi"/>.</param>
|
||||
public MovieImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi)
|
||||
: base(httpClientFactory, loggerFactory.CreateLogger<SeriesProvider>(), libraryManager, doubanApi, tmdbApi, omdbApi)
|
||||
: base(httpClientFactory, loggerFactory.CreateLogger<MovieImageProvider>(), libraryManager, doubanApi, tmdbApi, omdbApi)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers
|
|||
public class MovieProvider : BaseProvider, IRemoteMetadataProvider<Movie, MovieInfo>
|
||||
{
|
||||
public MovieProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi)
|
||||
: base(httpClientFactory, loggerFactory.CreateLogger<SeriesProvider>(), libraryManager, doubanApi, tmdbApi, omdbApi)
|
||||
: base(httpClientFactory, loggerFactory.CreateLogger<MovieProvider>(), libraryManager, doubanApi, tmdbApi, omdbApi)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers
|
|||
/// <param name="logger">Instance of the <see cref="ILogger{OddbImageProvider}"/> interface.</param>
|
||||
/// <param name="doubanApi">Instance of <see cref="DoubanApi"/>.</param>
|
||||
public SeasonImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi)
|
||||
: base(httpClientFactory, loggerFactory.CreateLogger<SeriesProvider>(), libraryManager, doubanApi, tmdbApi, omdbApi)
|
||||
: base(httpClientFactory, loggerFactory.CreateLogger<SeasonImageProvider>(), libraryManager, doubanApi, tmdbApi, omdbApi)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers
|
|||
/// <param name="logger">Instance of the <see cref="ILogger{OddbImageProvider}"/> interface.</param>
|
||||
/// <param name="doubanApi">Instance of <see cref="DoubanApi"/>.</param>
|
||||
public SeriesImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi)
|
||||
: base(httpClientFactory, loggerFactory.CreateLogger<SeriesProvider>(), libraryManager, doubanApi, tmdbApi, omdbApi)
|
||||
: base(httpClientFactory, loggerFactory.CreateLogger<SeriesImageProvider>(), libraryManager, doubanApi, tmdbApi, omdbApi)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -119,6 +119,8 @@ namespace Jellyfin.Plugin.MetaShark.Providers
|
|||
// ProductionLocations = [x?.Country],
|
||||
PremiereDate = subject.ScreenTime,
|
||||
};
|
||||
|
||||
// 通过imdb获取tmdbId
|
||||
if (!string.IsNullOrEmpty(subject.Imdb))
|
||||
{
|
||||
item.SetProviderId(MetadataProvider.Imdb, subject.Imdb);
|
||||
|
@ -131,13 +133,24 @@ namespace Jellyfin.Plugin.MetaShark.Providers
|
|||
var findResult = await this._tmdbApi.FindByExternalIdAsync(omdbItem.ImdbID, FindExternalSource.Imdb, info.MetadataLanguage, cancellationToken).ConfigureAwait(false);
|
||||
if (findResult?.TvResults != null && findResult.TvResults.Count > 0)
|
||||
{
|
||||
this.Log($"GetSeriesMetadata found tmdb [id]: {findResult.TvResults[0].Id} by imdb id: {subject.Imdb}");
|
||||
item.SetProviderId(MetadataProvider.Tmdb, $"{findResult.TvResults[0].Id}");
|
||||
tmdbId = $"{findResult.TvResults[0].Id}";
|
||||
this.Log($"GetSeriesMetadata found tmdb [id]: {tmdbId} by imdb id: {subject.Imdb}");
|
||||
item.SetProviderId(MetadataProvider.Tmdb, tmdbId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 尝试通过搜索匹配获取tmdbId
|
||||
if (string.IsNullOrEmpty(tmdbId))
|
||||
{
|
||||
tmdbId = await this.GuestByTmdbAsync(info, cancellationToken).ConfigureAwait(false);
|
||||
if (!string.IsNullOrEmpty(tmdbId))
|
||||
{
|
||||
item.SetProviderId(MetadataProvider.Tmdb, tmdbId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
result.Item = item;
|
||||
result.QueriedById = true;
|
||||
|
|
Loading…
Reference in New Issue