diff options
| -rw-r--r-- | MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs | 28 | ||||
| -rw-r--r-- | MediaBrowser.Common/Net/HttpResponseInfo.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Common/Net/IHttpClient.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Providers/BaseItemXmlParser.cs | 1 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Savers/XmlSaverHelpers.cs | 11 | ||||
| -rw-r--r-- | Nuget/MediaBrowser.Common.Internal.nuspec | 4 | ||||
| -rw-r--r-- | Nuget/MediaBrowser.Common.nuspec | 2 | ||||
| -rw-r--r-- | Nuget/MediaBrowser.Server.Core.nuspec | 4 |
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> |
