aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/Images
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/Images')
-rw-r--r--MediaBrowser.Api/Images/ImageService.cs30
-rw-r--r--MediaBrowser.Api/Images/RemoteImageService.cs37
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>