aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-07-20 17:36:59 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-07-20 17:36:59 -0400
commit7e5bdc837a95067b304872c3a757e39e434adaba (patch)
tree28fb79ea5d7ce449f003ee479104aa04f029b5f4
parentcf057c5b2736f1e25bb1a8f9091c3954311889ab (diff)
added GetTempFileResponse
-rw-r--r--MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs28
-rw-r--r--MediaBrowser.Common/Net/HttpResponseInfo.cs6
-rw-r--r--MediaBrowser.Common/Net/IHttpClient.cs2
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs1
-rw-r--r--MediaBrowser.Providers/Savers/XmlSaverHelpers.cs11
-rw-r--r--Nuget/MediaBrowser.Common.Internal.nuspec4
-rw-r--r--Nuget/MediaBrowser.Common.nuspec2
-rw-r--r--Nuget/MediaBrowser.Server.Core.nuspec4
8 files changed, 43 insertions, 15 deletions
diff --git a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
index d664d0bba..82c385522 100644
--- a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
+++ b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
@@ -375,6 +375,13 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
/// <exception cref="MediaBrowser.Model.Net.HttpException"></exception>
public async Task<string> GetTempFile(HttpRequestOptions options)
{
+ var response = await GetTempFileResponse(options).ConfigureAwait(false);
+
+ return response.TempFilePath;
+ }
+
+ public async Task<HttpResponseInfo> GetTempFileResponse(HttpRequestOptions options)
+ {
ValidateParams(options.Url, options.CancellationToken);
var tempFile = Path.Combine(_appPaths.TempDirectory, Guid.NewGuid() + ".tmp");
@@ -433,13 +440,20 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
options.Progress.Report(100);
- options.CancellationToken.ThrowIfCancellationRequested();
+ return new HttpResponseInfo
+ {
+ TempFilePath = tempFile,
+
+ StatusCode = response.StatusCode,
+
+ ContentType = response.Content.Headers.ContentType.MediaType
+ };
}
}
}
catch (Exception ex)
{
- HandleTempFileException(ex, options, tempFile);
+ throw GetTempFileException(ex, options, tempFile);
}
finally
{
@@ -448,8 +462,6 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
options.ResourcePool.Release();
}
}
-
- return tempFile;
}
/// <summary>
@@ -501,7 +513,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
/// <param name="tempFile">The temp file.</param>
/// <returns>Task.</returns>
/// <exception cref="HttpException"></exception>
- private void HandleTempFileException(Exception ex, HttpRequestOptions options, string tempFile)
+ private Exception GetTempFileException(Exception ex, HttpRequestOptions options, string tempFile)
{
var operationCanceledException = ex as OperationCanceledException;
@@ -513,7 +525,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
File.Delete(tempFile);
}
- throw GetCancellationException(options.Url, options.CancellationToken, operationCanceledException);
+ return GetCancellationException(options.Url, options.CancellationToken, operationCanceledException);
}
_logger.ErrorException("Error getting response from " + options.Url, ex);
@@ -528,10 +540,10 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
if (httpRequestException != null)
{
- throw new HttpException(ex.Message, ex);
+ return new HttpException(ex.Message, ex);
}
- throw ex;
+ return ex;
}
/// <summary>
diff --git a/MediaBrowser.Common/Net/HttpResponseInfo.cs b/MediaBrowser.Common/Net/HttpResponseInfo.cs
index 558218ed1..3199dcc1c 100644
--- a/MediaBrowser.Common/Net/HttpResponseInfo.cs
+++ b/MediaBrowser.Common/Net/HttpResponseInfo.cs
@@ -25,5 +25,11 @@ namespace MediaBrowser.Common.Net
/// </summary>
/// <value>The status code.</value>
public HttpStatusCode StatusCode { get; set; }
+
+ /// <summary>
+ /// Gets or sets the temp file path.
+ /// </summary>
+ /// <value>The temp file path.</value>
+ public string TempFilePath { get; set; }
}
}
diff --git a/MediaBrowser.Common/Net/IHttpClient.cs b/MediaBrowser.Common/Net/IHttpClient.cs
index 6068d4e8c..93348d4ca 100644
--- a/MediaBrowser.Common/Net/IHttpClient.cs
+++ b/MediaBrowser.Common/Net/IHttpClient.cs
@@ -72,5 +72,7 @@ namespace MediaBrowser.Common.Net
/// <exception cref="System.ArgumentNullException">progress</exception>
/// <exception cref="MediaBrowser.Model.Net.HttpException"></exception>
Task<string> GetTempFile(HttpRequestOptions options);
+
+ Task<HttpResponseInfo> GetTempFileResponse(HttpRequestOptions options);
}
} \ No newline at end of file
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
index 953c99fbb..fde44eee9 100644
--- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
@@ -445,6 +445,7 @@ namespace MediaBrowser.Controller.Providers
break;
}
+ case "BirthDate":
case "PremiereDate":
case "FirstAired":
{
diff --git a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs
index cc04f8f02..7617181c2 100644
--- a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs
+++ b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs
@@ -198,9 +198,16 @@ namespace MediaBrowser.Providers.Savers
builder.Append("<SortTitle>" + SecurityElement.Escape(item.ForcedSortName) + "</SortTitle>");
}
- if (item.PremiereDate.HasValue && !(item is Episode))
+ if (item.PremiereDate.HasValue)
{
- builder.Append("<PremiereDate>" + SecurityElement.Escape(item.PremiereDate.Value.ToString("yyyy-MM-dd")) + "</PremiereDate>");
+ if (item is Person)
+ {
+ builder.Append("<BirthDate>" + SecurityElement.Escape(item.PremiereDate.Value.ToString("yyyy-MM-dd")) + "</BirthDate>");
+ }
+ else if (!(item is Episode))
+ {
+ builder.Append("<PremiereDate>" + SecurityElement.Escape(item.PremiereDate.Value.ToString("yyyy-MM-dd")) + "</PremiereDate>");
+ }
}
if (item.RemoteTrailers.Count > 0)
diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec
index dba38350c..61b5819ae 100644
--- a/Nuget/MediaBrowser.Common.Internal.nuspec
+++ b/Nuget/MediaBrowser.Common.Internal.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common.Internal</id>
- <version>3.0.150</version>
+ <version>3.0.151</version>
<title>MediaBrowser.Common.Internal</title>
<authors>Luke</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.150" />
+ <dependency id="MediaBrowser.Common" version="3.0.151" />
<dependency id="NLog" version="2.0.1.2" />
<dependency id="ServiceStack.Text" version="3.9.45" />
<dependency id="SimpleInjector" version="2.2.3" />
diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec
index f91f22dc5..aa99d6a1d 100644
--- a/Nuget/MediaBrowser.Common.nuspec
+++ b/Nuget/MediaBrowser.Common.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common</id>
- <version>3.0.150</version>
+ <version>3.0.151</version>
<title>MediaBrowser.Common</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec
index f5765fa22..c97a381e6 100644
--- a/Nuget/MediaBrowser.Server.Core.nuspec
+++ b/Nuget/MediaBrowser.Server.Core.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MediaBrowser.Server.Core</id>
- <version>3.0.150</version>
+ <version>3.0.151</version>
<title>Media Browser.Server.Core</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains core components required to build plugins for Media Browser Server.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.150" />
+ <dependency id="MediaBrowser.Common" version="3.0.151" />
</dependencies>
</metadata>
<files>