diff options
| author | Luke <luke.pulverenti@gmail.com> | 2015-05-12 10:55:26 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2015-05-12 10:55:26 -0400 |
| commit | 033919685a56fb9cf2c0612e1d320bc2987f7291 (patch) | |
| tree | d53751b885ab8f88bf18d2370026908753cd5a82 /MediaBrowser.Server.Implementations | |
| parent | 46b26863d032643268375525170e67618d959464 (diff) | |
| parent | 0f4a5ca9e6682e5f00bc54172b8083d42cbcd266 (diff) | |
Merge pull request #1100 from MediaBrowser/dev
3.0.5607.2
Diffstat (limited to 'MediaBrowser.Server.Implementations')
5 files changed, 50 insertions, 45 deletions
diff --git a/MediaBrowser.Server.Implementations/EntryPoints/ExternalPortForwarding.cs b/MediaBrowser.Server.Implementations/EntryPoints/ExternalPortForwarding.cs index b5b63181a..fa5841bb8 100644 --- a/MediaBrowser.Server.Implementations/EntryPoints/ExternalPortForwarding.cs +++ b/MediaBrowser.Server.Implementations/EntryPoints/ExternalPortForwarding.cs @@ -108,9 +108,9 @@ namespace MediaBrowser.Server.Implementations.EntryPoints { var endpoint = e.EndPoint as IPEndPoint; - if (endpoint != null && e.LocalIp != null) + if (endpoint != null && e.LocalEndPoint != null) { - NatUtility.Handle(e.LocalIp, e.Message, endpoint, NatProtocol.Upnp); + NatUtility.Handle(e.LocalEndPoint.Address, e.Message, endpoint, NatProtocol.Upnp); } } diff --git a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs index 542d67721..e1dd5c618 100644 --- a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs +++ b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs @@ -252,6 +252,9 @@ namespace MediaBrowser.Server.Implementations.Localization throw new ArgumentNullException("rating"); } + // Fairly common for some users to have "Rated R" in their rating field + rating = rating.Replace("Rated ", string.Empty, StringComparison.OrdinalIgnoreCase); + var ratingsDictionary = GetParentalRatingsDictionary(); ParentalRating value; 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; + } + } } diff --git a/MediaBrowser.Server.Implementations/UserViews/DynamicImageProvider.cs b/MediaBrowser.Server.Implementations/UserViews/DynamicImageProvider.cs index 930762696..b07caa1bd 100644 --- a/MediaBrowser.Server.Implementations/UserViews/DynamicImageProvider.cs +++ b/MediaBrowser.Server.Implementations/UserViews/DynamicImageProvider.cs @@ -224,8 +224,7 @@ namespace MediaBrowser.Server.Implementations.UserViews return false; } - await CreateThumbCollage(item, itemsWithImages, outputPath, 960, 540, false, item.Name).ConfigureAwait(false); - return true; + return await CreateThumbCollage(item, itemsWithImages, outputPath, 960, 540, false, item.Name).ConfigureAwait(false); } return await base.CreateImage(item, itemsWithImages, outputPath, imageType, imageIndex).ConfigureAwait(false); |
