extracted httpclient dependancy

This commit is contained in:
LukePulverenti
2013-02-24 19:13:45 -05:00
parent 5b1eea558a
commit 28ccfb1bd1
40 changed files with 412 additions and 171 deletions

View File

@@ -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") ??

View File

@@ -1,4 +1,5 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Extensions;
using MediaBrowser.Controller.Resolvers.TV;
@@ -19,6 +20,21 @@ namespace MediaBrowser.Controller.Providers.TV
/// </summary>
class RemoteEpisodeProvider : BaseMetadataProvider
{
/// <summary>
/// Gets the HTTP client.
/// </summary>
/// <value>The HTTP client.</value>
protected IHttpClient HttpClient { get; private set; }
public RemoteEpisodeProvider(IHttpClient httpClient)
: base()
{
if (httpClient == null)
{
throw new ArgumentNullException("httpClient");
}
HttpClient = httpClient;
}
/// <summary>
/// The episode query
@@ -171,7 +187,7 @@ namespace MediaBrowser.Controller.Providers.TV
try
{
using (var result = await Kernel.Instance.HttpManager.Get(url, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
using (var result = await HttpClient.Get(url, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
{
doc.Load(result);
}
@@ -189,7 +205,7 @@ namespace MediaBrowser.Controller.Providers.TV
try
{
using (var result = await Kernel.Instance.HttpManager.Get(url, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
using (var result = await HttpClient.Get(url, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
{
if (result != null) doc.Load(result);
usingAbsoluteData = true;

View File

@@ -1,4 +1,5 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Resolvers.TV;
using MediaBrowser.Model.Entities;
@@ -17,6 +18,21 @@ namespace MediaBrowser.Controller.Providers.TV
/// </summary>
class RemoteSeasonProvider : BaseMetadataProvider
{
/// <summary>
/// Gets the HTTP client.
/// </summary>
/// <value>The HTTP client.</value>
protected IHttpClient HttpClient { get; private set; }
public RemoteSeasonProvider(IHttpClient httpClient)
: base()
{
if (httpClient == null)
{
throw new ArgumentNullException("httpClient");
}
HttpClient = httpClient;
}
/// <summary>
/// Supportses the specified item.
@@ -82,7 +98,7 @@ namespace MediaBrowser.Controller.Providers.TV
protected override async Task<bool> FetchAsyncInternal(BaseItem item, bool force, CancellationToken cancellationToken)
{
cancellationToken.ThrowIfCancellationRequested();
var season = (Season)item;
if (!HasLocalMeta(item))
@@ -135,7 +151,7 @@ namespace MediaBrowser.Controller.Providers.TV
try
{
using (var imgs = await Kernel.Instance.HttpManager.Get(url, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
using (var imgs = await HttpClient.Get(url, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
{
images.Load(imgs);
}

View File

@@ -1,4 +1,5 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Extensions;
@@ -21,6 +22,21 @@ namespace MediaBrowser.Controller.Providers.TV
/// </summary>
class RemoteSeriesProvider : BaseMetadataProvider
{
/// <summary>
/// Gets the HTTP client.
/// </summary>
/// <value>The HTTP client.</value>
protected IHttpClient HttpClient { get; private set; }
public RemoteSeriesProvider(IHttpClient httpClient)
: base()
{
if (httpClient == null)
{
throw new ArgumentNullException("httpClient");
}
HttpClient = httpClient;
}
/// <summary>
/// The root URL
@@ -153,7 +169,7 @@ namespace MediaBrowser.Controller.Providers.TV
try
{
using (var xml = await Kernel.Instance.HttpManager.Get(url, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
using (var xml = await HttpClient.Get(url, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
{
doc.Load(xml);
}
@@ -232,7 +248,7 @@ namespace MediaBrowser.Controller.Providers.TV
try
{
using (var actors = await Kernel.Instance.HttpManager.Get(urlActors, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
using (var actors = await HttpClient.Get(urlActors, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
{
docActors.Load(actors);
}
@@ -299,7 +315,7 @@ namespace MediaBrowser.Controller.Providers.TV
try
{
using (var imgs = await Kernel.Instance.HttpManager.Get(url, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
using (var imgs = await HttpClient.Get(url, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
{
images.Load(imgs);
}
@@ -446,7 +462,7 @@ namespace MediaBrowser.Controller.Providers.TV
try
{
using (var results = await Kernel.Instance.HttpManager.Get(url, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
using (var results = await HttpClient.Get(url, Kernel.Instance.ResourcePools.TvDb, cancellationToken).ConfigureAwait(false))
{
doc.Load(results);
}