aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Photos
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-05-12 10:55:26 -0400
committerLuke <luke.pulverenti@gmail.com>2015-05-12 10:55:26 -0400
commit033919685a56fb9cf2c0612e1d320bc2987f7291 (patch)
treed53751b885ab8f88bf18d2370026908753cd5a82 /MediaBrowser.Server.Implementations/Photos
parent46b26863d032643268375525170e67618d959464 (diff)
parent0f4a5ca9e6682e5f00bc54172b8083d42cbcd266 (diff)
Merge pull request #1100 from MediaBrowser/dev
3.0.5607.2
Diffstat (limited to 'MediaBrowser.Server.Implementations/Photos')
-rw-r--r--MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs29
-rw-r--r--MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs56
2 files changed, 44 insertions, 41 deletions
diff --git a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs
index bd22a8a70..79ebc67d9 100644
--- a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs
+++ b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs
@@ -103,7 +103,7 @@ namespace MediaBrowser.Server.Implementations.Photos
return parts.GetMD5().ToString("N");
}
- protected Task CreateThumbCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, bool drawText)
+ protected Task<bool> CreateThumbCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, bool drawText)
{
return CreateCollage(primaryItem, items, outputPath, 960, 540, drawText, primaryItem.Name);
}
@@ -115,22 +115,22 @@ namespace MediaBrowser.Server.Implementations.Photos
.Where(i => !string.IsNullOrWhiteSpace(i));
}
- protected Task CreatePosterCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath)
+ protected Task<bool> CreatePosterCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath)
{
return CreateCollage(primaryItem, items, outputPath, 600, 900, true, primaryItem.Name);
}
- protected Task CreateSquareCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, bool drawText)
+ protected Task<bool> CreateSquareCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, bool drawText)
{
return CreateCollage(primaryItem, items, outputPath, 800, 800, drawText, primaryItem.Name);
}
- protected Task CreateThumbCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, int width, int height, bool drawText, string text)
+ protected Task<bool> CreateThumbCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, int width, int height, bool drawText, string text)
{
return CreateCollage(primaryItem, items, outputPath, width, height, drawText, text);
}
- private Task CreateCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, int width, int height, bool drawText, string text)
+ private Task<bool> CreateCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, int width, int height, bool drawText, string text)
{
Directory.CreateDirectory(Path.GetDirectoryName(outputPath));
@@ -143,7 +143,13 @@ namespace MediaBrowser.Server.Implementations.Photos
InputPaths = GetStripCollageImagePaths(primaryItem, items).ToArray()
};
- return ImageProcessor.CreateImageCollage(options);
+ if (options.InputPaths.Length == 0)
+ {
+ return Task.FromResult(false);
+ }
+
+ ImageProcessor.CreateImageCollage(options);
+ return Task.FromResult(true);
}
public string Name
@@ -166,26 +172,23 @@ namespace MediaBrowser.Server.Implementations.Photos
if (imageType == ImageType.Thumb)
{
- await CreateThumbCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
- return true;
+ return await CreateThumbCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
}
if (imageType == ImageType.Primary)
{
if (item is UserView)
{
- await CreateSquareCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
+ return await CreateSquareCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
}
else if (item is PhotoAlbum || item is Playlist)
{
- await CreateSquareCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
+ return await CreateSquareCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
}
else
{
- await CreatePosterCollage(item, itemsWithImages, outputPath).ConfigureAwait(false);
+ return await CreatePosterCollage(item, itemsWithImages, outputPath).ConfigureAwait(false);
}
-
- return true;
}
throw new ArgumentException("Unexpected image type");
diff --git a/MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs b/MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs
index b5ecc94a2..9d2eb297f 100644
--- a/MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs
+++ b/MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs
@@ -8,37 +8,37 @@ using System.Threading.Tasks;
namespace MediaBrowser.Server.Implementations.Photos
{
- //public class PhotoAlbumImageProvider : IDynamicImageProvider
- //{
- // public IEnumerable<ImageType> GetSupportedImages(IHasImages item)
- // {
- // return new List<ImageType> { ImageType.Primary };
- // }
+ public class PhotoAlbumImageProvider : IDynamicImageProvider
+ {
+ public IEnumerable<ImageType> GetSupportedImages(IHasImages item)
+ {
+ return new List<ImageType> { ImageType.Primary };
+ }
- // public Task<DynamicImageResponse> GetImage(IHasImages item, ImageType type, CancellationToken cancellationToken)
- // {
- // var album = (PhotoAlbum)item;
+ public Task<DynamicImageResponse> GetImage(IHasImages item, ImageType type, CancellationToken cancellationToken)
+ {
+ var album = (PhotoAlbum)item;
- // var image = album.Children
- // .OfType<Photo>()
- // .Select(i => i.GetImagePath(type))
- // .FirstOrDefault(i => !string.IsNullOrEmpty(i));
+ var image = album.Children
+ .OfType<Photo>()
+ .Select(i => i.GetImagePath(type))
+ .FirstOrDefault(i => !string.IsNullOrEmpty(i));
- // return Task.FromResult(new DynamicImageResponse
- // {
- // Path = image,
- // HasImage = !string.IsNullOrEmpty(image)
- // });
- // }
+ return Task.FromResult(new DynamicImageResponse
+ {
+ Path = image,
+ HasImage = !string.IsNullOrEmpty(image)
+ });
+ }
- // public string Name
- // {
- // get { return "Image Extractor"; }
- // }
+ public string Name
+ {
+ get { return "Image Extractor"; }
+ }
- // public bool Supports(IHasImages item)
- // {
- // return item is PhotoAlbum;
- // }
- //}
+ public bool Supports(IHasImages item)
+ {
+ return item is PhotoAlbum;
+ }
+ }
}