aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Providers/TV/FanArtTVProvider.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Providers/TV/FanArtTVProvider.cs')
-rw-r--r--MediaBrowser.Controller/Providers/TV/FanArtTVProvider.cs27
1 files changed, 22 insertions, 5 deletions
diff --git a/MediaBrowser.Controller/Providers/TV/FanArtTVProvider.cs b/MediaBrowser.Controller/Providers/TV/FanArtTVProvider.cs
index 05ab172a8e..8d5c2e0c74 100644
--- a/MediaBrowser.Controller/Providers/TV/FanArtTVProvider.cs
+++ b/MediaBrowser.Controller/Providers/TV/FanArtTVProvider.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Common.Extensions;
+using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Model.Entities;
@@ -15,6 +16,22 @@ namespace MediaBrowser.Controller.Providers.TV
{
protected string FanArtBaseUrl = "http://api.fanart.tv/webservice/series/{0}/{1}/xml/all/1/1";
+ /// <summary>
+ /// Gets the HTTP client.
+ /// </summary>
+ /// <value>The HTTP client.</value>
+ protected IHttpClient HttpClient { get; private set; }
+
+ public FanArtTVProvider(IHttpClient httpClient)
+ : base()
+ {
+ if (httpClient == null)
+ {
+ throw new ArgumentNullException("httpClient");
+ }
+ HttpClient = httpClient;
+ }
+
public override bool Supports(BaseItem item)
{
return item is Series;
@@ -36,7 +53,7 @@ namespace MediaBrowser.Controller.Providers.TV
protected override async Task<bool> FetchAsyncInternal(BaseItem item, bool force, CancellationToken cancellationToken)
{
cancellationToken.ThrowIfCancellationRequested();
-
+
var series = (Series)item;
if (ShouldFetch(series, series.ProviderData.GetValueOrDefault(Id, new BaseProviderInfo { ProviderId = Id })))
{
@@ -46,7 +63,7 @@ namespace MediaBrowser.Controller.Providers.TV
try
{
- using (var xml = await Kernel.Instance.HttpManager.Get(url, Kernel.Instance.ResourcePools.FanArt, cancellationToken).ConfigureAwait(false))
+ using (var xml = await HttpClient.Get(url, Kernel.Instance.ResourcePools.FanArt, cancellationToken).ConfigureAwait(false))
{
doc.Load(xml);
}
@@ -56,7 +73,7 @@ namespace MediaBrowser.Controller.Providers.TV
}
cancellationToken.ThrowIfCancellationRequested();
-
+
if (doc.HasChildNodes)
{
string path;
@@ -83,7 +100,7 @@ namespace MediaBrowser.Controller.Providers.TV
}
cancellationToken.ThrowIfCancellationRequested();
-
+
if (Kernel.Instance.Configuration.DownloadTVArt && !series.ResolveArgs.ContainsMetaFileByName(ART_FILE))
{
var node = doc.SelectSingleNode("//fanart/series/cleararts/clearart[@lang = \"" + language + "\"]/@url") ??
@@ -107,7 +124,7 @@ namespace MediaBrowser.Controller.Providers.TV
}
cancellationToken.ThrowIfCancellationRequested();
-
+
if (Kernel.Instance.Configuration.DownloadTVThumb && !series.ResolveArgs.ContainsMetaFileByName(THUMB_FILE))
{
var node = doc.SelectSingleNode("//fanart/series/tvthumbs/tvthumb[@lang = \"" + language + "\"]/@url") ??