diff options
Diffstat (limited to 'MediaBrowser.Providers/BoxSets/MovieDbBoxSetImageProvider.cs')
| -rw-r--r-- | MediaBrowser.Providers/BoxSets/MovieDbBoxSetImageProvider.cs | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/MediaBrowser.Providers/BoxSets/MovieDbBoxSetImageProvider.cs b/MediaBrowser.Providers/BoxSets/MovieDbBoxSetImageProvider.cs deleted file mode 100644 index 4d12b2f4a..000000000 --- a/MediaBrowser.Providers/BoxSets/MovieDbBoxSetImageProvider.cs +++ /dev/null @@ -1,158 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using MediaBrowser.Common.Net; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.Movies; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Providers; -using MediaBrowser.Providers.Movies; - -namespace MediaBrowser.Providers.BoxSets -{ - public class MovieDbBoxSetImageProvider : IRemoteImageProvider, IHasOrder - { - private readonly IHttpClient _httpClient; - - public MovieDbBoxSetImageProvider(IHttpClient httpClient) - { - _httpClient = httpClient; - } - - public string Name => ProviderName; - - public static string ProviderName => "TheMovieDb"; - - public bool Supports(BaseItem item) - { - return item is BoxSet; - } - - public IEnumerable<ImageType> GetSupportedImages(BaseItem item) - { - return new List<ImageType> - { - ImageType.Primary, - ImageType.Backdrop - }; - } - - public async Task<IEnumerable<RemoteImageInfo>> GetImages(BaseItem item, CancellationToken cancellationToken) - { - var tmdbId = item.GetProviderId(MetadataProviders.Tmdb); - - if (!string.IsNullOrEmpty(tmdbId)) - { - var language = item.GetPreferredMetadataLanguage(); - - var mainResult = await MovieDbBoxSetProvider.Current.GetMovieDbResult(tmdbId, null, cancellationToken).ConfigureAwait(false); - - if (mainResult != null) - { - var tmdbSettings = await MovieDbProvider.Current.GetTmdbSettings(cancellationToken).ConfigureAwait(false); - - var tmdbImageUrl = tmdbSettings.images.GetImageUrl("original"); - - return GetImages(mainResult, language, tmdbImageUrl); - } - } - - return new List<RemoteImageInfo>(); - } - - private IEnumerable<RemoteImageInfo> GetImages(MovieDbBoxSetProvider.RootObject obj, string language, string baseUrl) - { - var list = new List<RemoteImageInfo>(); - - var images = obj.images ?? new MovieDbBoxSetProvider.Images(); - - list.AddRange(GetPosters(images).Select(i => new RemoteImageInfo - { - Url = baseUrl + i.file_path, - CommunityRating = i.vote_average, - VoteCount = i.vote_count, - Width = i.width, - Height = i.height, - Language = MovieDbProvider.AdjustImageLanguage(i.iso_639_1, language), - ProviderName = Name, - Type = ImageType.Primary, - RatingType = RatingType.Score - })); - - list.AddRange(GetBackdrops(images).Select(i => new RemoteImageInfo - { - Url = baseUrl + i.file_path, - CommunityRating = i.vote_average, - VoteCount = i.vote_count, - Width = i.width, - Height = i.height, - ProviderName = Name, - Type = ImageType.Backdrop, - RatingType = RatingType.Score - })); - - var isLanguageEn = string.Equals(language, "en", StringComparison.OrdinalIgnoreCase); - - return list.OrderByDescending(i => - { - if (string.Equals(language, i.Language, StringComparison.OrdinalIgnoreCase)) - { - return 3; - } - if (!isLanguageEn) - { - if (string.Equals("en", i.Language, StringComparison.OrdinalIgnoreCase)) - { - return 2; - } - } - if (string.IsNullOrEmpty(i.Language)) - { - return isLanguageEn ? 3 : 2; - } - return 0; - }) - .ThenByDescending(i => i.CommunityRating ?? 0) - .ThenByDescending(i => i.VoteCount ?? 0); - } - - /// <summary> - /// Gets the posters. - /// </summary> - /// <param name="images">The images.</param> - /// <returns>IEnumerable{MovieDbProvider.Poster}.</returns> - private IEnumerable<MovieDbBoxSetProvider.Poster> GetPosters(MovieDbBoxSetProvider.Images images) - { - return images.posters ?? new List<MovieDbBoxSetProvider.Poster>(); - } - - /// <summary> - /// Gets the backdrops. - /// </summary> - /// <param name="images">The images.</param> - /// <returns>IEnumerable{MovieDbProvider.Backdrop}.</returns> - private IEnumerable<MovieDbBoxSetProvider.Backdrop> GetBackdrops(MovieDbBoxSetProvider.Images images) - { - var eligibleBackdrops = images.backdrops == null ? new List<MovieDbBoxSetProvider.Backdrop>() : - images.backdrops; - - return eligibleBackdrops.OrderByDescending(i => i.vote_average) - .ThenByDescending(i => i.vote_count); - } - - public int Order => 0; - - public Task<HttpResponseInfo> GetImageResponse(string url, CancellationToken cancellationToken) - { - return _httpClient.GetResponse(new HttpRequestOptions - { - CancellationToken = cancellationToken, - Url = url - }); - } - } -} |
