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="logger">Instance of the <see cref="ILogger{OddbImageProvider}"/> interface.</param>
|
||||||
/// <param name="doubanApi">Instance of <see cref="DoubanApi"/>.</param>
|
/// <param name="doubanApi">Instance of <see cref="DoubanApi"/>.</param>
|
||||||
public EpisodeImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi)
|
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="logger">Instance of the <see cref="ILogger{OddbImageProvider}"/> interface.</param>
|
||||||
/// <param name="doubanApi">Instance of <see cref="DoubanApi"/>.</param>
|
/// <param name="doubanApi">Instance of <see cref="DoubanApi"/>.</param>
|
||||||
public MovieImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi)
|
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 class MovieProvider : BaseProvider, IRemoteMetadataProvider<Movie, MovieInfo>
|
||||||
{
|
{
|
||||||
public MovieProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi)
|
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="logger">Instance of the <see cref="ILogger{OddbImageProvider}"/> interface.</param>
|
||||||
/// <param name="doubanApi">Instance of <see cref="DoubanApi"/>.</param>
|
/// <param name="doubanApi">Instance of <see cref="DoubanApi"/>.</param>
|
||||||
public SeasonImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi)
|
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="logger">Instance of the <see cref="ILogger{OddbImageProvider}"/> interface.</param>
|
||||||
/// <param name="doubanApi">Instance of <see cref="DoubanApi"/>.</param>
|
/// <param name="doubanApi">Instance of <see cref="DoubanApi"/>.</param>
|
||||||
public SeriesImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi)
|
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],
|
// ProductionLocations = [x?.Country],
|
||||||
PremiereDate = subject.ScreenTime,
|
PremiereDate = subject.ScreenTime,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 通过imdb获取tmdbId
|
||||||
if (!string.IsNullOrEmpty(subject.Imdb))
|
if (!string.IsNullOrEmpty(subject.Imdb))
|
||||||
{
|
{
|
||||||
item.SetProviderId(MetadataProvider.Imdb, 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);
|
var findResult = await this._tmdbApi.FindByExternalIdAsync(omdbItem.ImdbID, FindExternalSource.Imdb, info.MetadataLanguage, cancellationToken).ConfigureAwait(false);
|
||||||
if (findResult?.TvResults != null && findResult.TvResults.Count > 0)
|
if (findResult?.TvResults != null && findResult.TvResults.Count > 0)
|
||||||
{
|
{
|
||||||
this.Log($"GetSeriesMetadata found tmdb [id]: {findResult.TvResults[0].Id} by imdb id: {subject.Imdb}");
|
tmdbId = $"{findResult.TvResults[0].Id}";
|
||||||
item.SetProviderId(MetadataProvider.Tmdb, $"{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.Item = item;
|
||||||
result.QueriedById = true;
|
result.QueriedById = true;
|
||||||
|
|
Loading…
Reference in New Issue