MovieDbTrailerProvider.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using MediaBrowser.Common.Net;
  2. using MediaBrowser.Controller.Entities;
  3. using MediaBrowser.Controller.Providers;
  4. using MediaBrowser.Model.Providers;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Threading;
  8. using System.Threading.Tasks;
  9. namespace MediaBrowser.Providers.Movies
  10. {
  11. public class MovieDbTrailerProvider : IRemoteMetadataProvider<Trailer, TrailerInfo>, IHasOrder
  12. {
  13. private readonly IHttpClient _httpClient;
  14. public MovieDbTrailerProvider(IHttpClient httpClient)
  15. {
  16. _httpClient = httpClient;
  17. }
  18. public Task<MetadataResult<Trailer>> GetMetadata(TrailerInfo info, CancellationToken cancellationToken)
  19. {
  20. return MovieDbProvider.Current.GetItemMetadata<Trailer>(info, cancellationToken);
  21. }
  22. public Task<IEnumerable<RemoteSearchResult>> GetSearchResults(TrailerInfo searchInfo, CancellationToken cancellationToken)
  23. {
  24. return MovieDbProvider.Current.GetMovieSearchResults(searchInfo, cancellationToken);
  25. }
  26. public string Name
  27. {
  28. get { return MovieDbProvider.Current.Name; }
  29. }
  30. public bool HasChanged(IHasMetadata item, DateTime date)
  31. {
  32. return MovieDbProvider.Current.HasChanged(item, date);
  33. }
  34. public int Order
  35. {
  36. get
  37. {
  38. // After Omdb
  39. return 1;
  40. }
  41. }
  42. public Task<HttpResponseInfo> GetImageResponse(string url, CancellationToken cancellationToken)
  43. {
  44. return _httpClient.GetResponse(new HttpRequestOptions
  45. {
  46. CancellationToken = cancellationToken,
  47. Url = url,
  48. ResourcePool = MovieDbProvider.Current.MovieDbResourcePool
  49. });
  50. }
  51. }
  52. }