Support movie collections

This commit is contained in:
cxfksword 2023-02-17 14:44:35 +08:00
parent 885217fd10
commit e982ea1233
2 changed files with 24 additions and 27 deletions

View File

@ -134,27 +134,26 @@ namespace Jellyfin.Plugin.MetaShark.Providers
movie.SetProviderId(MetadataProvider.Imdb, subject.Imdb); movie.SetProviderId(MetadataProvider.Imdb, subject.Imdb);
// 通过imdb获取TMDB id // 通过imdb获取TMDB id
if (string.IsNullOrEmpty(tmdbId)) tmdbId = await this.GetTmdbIdByImdbAsync(subject.Imdb, info.MetadataLanguage, cancellationToken).ConfigureAwait(false);
if (!string.IsNullOrEmpty(tmdbId))
{ {
tmdbId = await this.GetTmdbIdByImdbAsync(subject.Imdb, info.MetadataLanguage, cancellationToken).ConfigureAwait(false); movie.SetProviderId(MetadataProvider.Tmdb, tmdbId);
if (!string.IsNullOrEmpty(tmdbId))
{
movie.SetProviderId(MetadataProvider.Tmdb, tmdbId);
// 获取电影系列信息
if (this.config.EnableTmdbCollection)
{
var movieResult = await _tmdbApi
.GetMovieAsync(Convert.ToInt32(tmdbId, CultureInfo.InvariantCulture), info.MetadataLanguage, info.MetadataLanguage, cancellationToken)
.ConfigureAwait(false);
if (movieResult != null && movieResult.BelongsToCollection != null)
{
movie.CollectionName = movieResult.BelongsToCollection.Name;
}
}
}
} }
} }
// 通过imdb获取电影系列信息
if (this.config.EnableTmdbCollection && !string.IsNullOrEmpty(tmdbId))
{
var movieResult = await _tmdbApi
.GetMovieAsync(Convert.ToInt32(tmdbId, CultureInfo.InvariantCulture), info.MetadataLanguage, info.MetadataLanguage, cancellationToken)
.ConfigureAwait(false);
if (movieResult != null && movieResult.BelongsToCollection != null)
{
movie.CollectionName = movieResult.BelongsToCollection.Name;
}
}
result.Item = movie; result.Item = movie;
result.QueriedById = true; result.QueriedById = true;
result.HasMetadata = true; result.HasMetadata = true;
@ -175,8 +174,8 @@ namespace Jellyfin.Plugin.MetaShark.Providers
{ {
this.Log($"GetMovieMetadata of tmdb [id]: \"{tmdbId}\""); this.Log($"GetMovieMetadata of tmdb [id]: \"{tmdbId}\"");
var movieResult = await _tmdbApi var movieResult = await _tmdbApi
.GetMovieAsync(Convert.ToInt32(tmdbId, CultureInfo.InvariantCulture), info.MetadataLanguage, info.MetadataLanguage, cancellationToken) .GetMovieAsync(Convert.ToInt32(tmdbId, CultureInfo.InvariantCulture), info.MetadataLanguage, info.MetadataLanguage, cancellationToken)
.ConfigureAwait(false); .ConfigureAwait(false);
if (movieResult == null) if (movieResult == null)
{ {

View File

@ -121,17 +121,15 @@ namespace Jellyfin.Plugin.MetaShark.Providers
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);
if (string.IsNullOrEmpty(tmdbId))
// 通过imdb获取TMDB id
tmdbId = await this.GetTmdbIdByImdbAsync(subject.Imdb, info.MetadataLanguage, cancellationToken).ConfigureAwait(false);
if (!string.IsNullOrEmpty(tmdbId))
{ {
tmdbId = await this.GetTmdbIdByImdbAsync(subject.Imdb, info.MetadataLanguage, cancellationToken).ConfigureAwait(false); item.SetProviderId(MetadataProvider.Tmdb, tmdbId);
if (!string.IsNullOrEmpty(tmdbId))
{
item.SetProviderId(MetadataProvider.Tmdb, tmdbId);
}
} }
} }