diff options
Diffstat (limited to 'MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeImageProvider.cs')
| -rw-r--r-- | MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeImageProvider.cs | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeImageProvider.cs b/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeImageProvider.cs index caa0a5aba..8f02b1377 100644 --- a/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeImageProvider.cs +++ b/MediaBrowser.Providers/TV/TheTVDB/TvdbEpisodeImageProvider.cs @@ -53,13 +53,28 @@ namespace MediaBrowser.Providers.TV.TheTVDB if (series != null && TvdbSeriesProvider.IsValidSeries(series.ProviderIds)) { - var tvdbId = episode.GetProviderId(MetadataProviders.Tvdb); + var episodeTvdbId = episode.GetProviderId(MetadataProviders.Tvdb); // Process images try { + if (string.IsNullOrEmpty(episodeTvdbId)) + { + var episodeNumber = episode.IndexNumber.Value; + var seasonNumber = episode.ParentIndexNumber.Value; + episodeTvdbId = await _tvDbClientManager.GetEpisodeTvdbId( + Convert.ToInt32(series.GetProviderId(MetadataProviders.Tvdb)), episodeNumber, seasonNumber, + cancellationToken); + if (string.IsNullOrEmpty(episodeTvdbId)) + { + _logger.LogError("Episode {SeasonNumber}x{EpisodeNumber}found for series {SeriesTvdbId}", + seasonNumber, episodeNumber); + return imageResult; + } + } + var episodeResult = - await _tvDbClientManager.GetEpisodesAsync(Convert.ToInt32(tvdbId), cancellationToken); + await _tvDbClientManager.GetEpisodesAsync(Convert.ToInt32(episodeTvdbId), cancellationToken); var image = GetImageInfo(episodeResult.Data); if (image != null) @@ -69,7 +84,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB } catch (TvDbServerException e) { - _logger.LogError(e, "Failed to retrieve episode images for {TvDbId}", tvdbId); + _logger.LogError(e, "Failed to retrieve episode images for {TvDbId}", episodeTvdbId); } } |
