diff options
Diffstat (limited to 'MediaBrowser.Api/Images')
| -rw-r--r-- | MediaBrowser.Api/Images/ImageService.cs | 30 | ||||
| -rw-r--r-- | MediaBrowser.Api/Images/RemoteImageService.cs | 37 |
2 files changed, 34 insertions, 33 deletions
diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs index f8481517d..2b8ac1a66 100644 --- a/MediaBrowser.Api/Images/ImageService.cs +++ b/MediaBrowser.Api/Images/ImageService.cs @@ -315,7 +315,7 @@ namespace MediaBrowser.Api.Images return list; } - private ImageInfo GetImageInfo(IHasMetadata item, ItemImageInfo info, int? imageIndex) + private ImageInfo GetImageInfo(BaseItem item, ItemImageInfo info, int? imageIndex) { try { @@ -330,11 +330,17 @@ namespace MediaBrowser.Api.Images var fileInfo = _fileSystem.GetFileInfo(info.Path); length = fileInfo.Length; - var size = _imageProcessor.GetImageSize(info, true); + var size = _imageProcessor.GetImageSize(item, info, true, true); width = Convert.ToInt32(size.Width); height = Convert.ToInt32(size.Height); + if (width <= 0 || height <= 0) + { + width = null; + height = null; + } + } } catch @@ -471,9 +477,7 @@ namespace MediaBrowser.Api.Images var item = _userManager.GetUserById(userId); - var task = item.DeleteImage(request.Type, request.Index ?? 0); - - Task.WaitAll(task); + item.DeleteImage(request.Type, request.Index ?? 0); } /// <summary> @@ -484,9 +488,7 @@ namespace MediaBrowser.Api.Images { var item = _libraryManager.GetItemById(request.Id); - var task = item.DeleteImage(request.Type, request.Index ?? 0); - - Task.WaitAll(task); + item.DeleteImage(request.Type, request.Index ?? 0); } /// <summary> @@ -497,9 +499,7 @@ namespace MediaBrowser.Api.Images { var item = _libraryManager.GetItemById(request.Id); - var task = UpdateItemIndex(item, request.Type, request.Index, request.NewIndex); - - Task.WaitAll(task); + UpdateItemIndex(item, request.Type, request.Index, request.NewIndex); } /// <summary> @@ -510,9 +510,9 @@ namespace MediaBrowser.Api.Images /// <param name="currentIndex">Index of the current.</param> /// <param name="newIndex">The new index.</param> /// <returns>Task.</returns> - private Task UpdateItemIndex(IHasMetadata item, ImageType type, int currentIndex, int newIndex) + private void UpdateItemIndex(IHasMetadata item, ImageType type, int currentIndex, int newIndex) { - return item.SwapImages(type, currentIndex, newIndex); + item.SwapImages(type, currentIndex, newIndex); } /// <summary> @@ -558,7 +558,7 @@ namespace MediaBrowser.Api.Images var supportedImageEnhancers = request.EnableImageEnhancers ? _imageProcessor.GetSupportedEnhancers(item, request.Type) : new List<IImageEnhancer>(); - var cropwhitespace = request.Type == ImageType.Logo || + var cropwhitespace = request.Type == ImageType.Logo || request.Type == ImageType.Art || (request.Type == ImageType.Primary && item is LiveTvChannel); @@ -733,7 +733,7 @@ namespace MediaBrowser.Api.Images await _providerManager.SaveImage(entity, memoryStream, mimeType, imageType, null, CancellationToken.None).ConfigureAwait(false); - await entity.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None).ConfigureAwait(false); + entity.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None); } } } diff --git a/MediaBrowser.Api/Images/RemoteImageService.cs b/MediaBrowser.Api/Images/RemoteImageService.cs index 3512a526b..4782d76df 100644 --- a/MediaBrowser.Api/Images/RemoteImageService.cs +++ b/MediaBrowser.Api/Images/RemoteImageService.cs @@ -84,7 +84,7 @@ namespace MediaBrowser.Api.Images } [Route("/Items/{Id}/RemoteImages/Download", "POST", Summary = "Downloads a remote image for an item")] - [Authenticated(Roles="Admin")] + [Authenticated(Roles = "Admin")] public class DownloadRemoteImage : BaseDownloadRemoteImage { /// <summary> @@ -207,7 +207,7 @@ namespace MediaBrowser.Api.Images { await _providerManager.SaveImage(item, request.ImageUrl, request.Type, null, CancellationToken.None).ConfigureAwait(false); - await item.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None).ConfigureAwait(false); + item.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None); } /// <summary> @@ -232,9 +232,9 @@ namespace MediaBrowser.Api.Images contentPath = _fileSystem.ReadAllText(pointerCachePath); if (_fileSystem.FileExists(contentPath)) - { - return await ResultFactory.GetStaticFileResult(Request, contentPath).ConfigureAwait(false); - } + { + return await ResultFactory.GetStaticFileResult(Request, contentPath).ConfigureAwait(false); + } } catch (FileNotFoundException) { @@ -262,28 +262,29 @@ namespace MediaBrowser.Api.Images /// <returns>Task.</returns> private async Task DownloadImage(string url, Guid urlHash, string pointerCachePath) { - var result = await _httpClient.GetResponse(new HttpRequestOptions + using (var result = await _httpClient.GetResponse(new HttpRequestOptions { Url = url, BufferContent = false - }).ConfigureAwait(false); - - var ext = result.ContentType.Split('/').Last(); + }).ConfigureAwait(false)) + { + var ext = result.ContentType.Split('/').Last(); - var fullCachePath = GetFullCachePath(urlHash + "." + ext); + var fullCachePath = GetFullCachePath(urlHash + "." + ext); - _fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(fullCachePath)); - using (var stream = result.Content) - { - using (var filestream = _fileSystem.GetFileStream(fullCachePath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, true)) + _fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(fullCachePath)); + using (var stream = result.Content) { - await stream.CopyToAsync(filestream).ConfigureAwait(false); + using (var filestream = _fileSystem.GetFileStream(fullCachePath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, true)) + { + await stream.CopyToAsync(filestream).ConfigureAwait(false); + } } - } - _fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(pointerCachePath)); - _fileSystem.WriteAllText(pointerCachePath, fullCachePath); + _fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(pointerCachePath)); + _fileSystem.WriteAllText(pointerCachePath, fullCachePath); + } } /// <summary> |
