From 9c56495867f230d359fd495d93e875a601418726 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 22 Oct 2013 08:37:11 -0400 Subject: [PATCH] fixed saving images with double file extension --- .../Configuration/ServerConfiguration.cs | 7 ------ .../Entities/IHasMediaStreams.cs | 2 +- .../Movies/MovieDbImagesProvider.cs | 22 +++++++++++-------- .../Music/FanArtArtistProvider.cs | 2 +- .../Providers/ImageSaver.cs | 6 ++--- 5 files changed, 18 insertions(+), 21 deletions(-) diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs index af29fd7df2..9c830789d7 100644 --- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs +++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs @@ -239,12 +239,6 @@ namespace MediaBrowser.Model.Configuration /// The width of the min movie poster. public int MinMoviePosterWidth { get; set; } - /// - /// Gets or sets the width of the min series backdrop. - /// - /// The width of the min series backdrop. - public int MinSeriesBackdropWidth { get; set; } - /// /// Initializes a new instance of the class. /// @@ -292,7 +286,6 @@ namespace MediaBrowser.Model.Configuration SeasonZeroDisplayName = "Specials"; MinMovieBackdropWidth = 1920; - MinSeriesBackdropWidth = 1920; MinMoviePosterWidth = 1000; } } diff --git a/MediaBrowser.Model/Entities/IHasMediaStreams.cs b/MediaBrowser.Model/Entities/IHasMediaStreams.cs index 8c4ea288ac..a009141463 100644 --- a/MediaBrowser.Model/Entities/IHasMediaStreams.cs +++ b/MediaBrowser.Model/Entities/IHasMediaStreams.cs @@ -21,6 +21,6 @@ namespace MediaBrowser.Model.Entities /// Gets or sets the primary image path. /// /// The primary image path. - string PrimaryImagePath { get; set; } + string PrimaryImagePath { get; } } } diff --git a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs index 21dbd63a95..d03bc91ac9 100644 --- a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs +++ b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs @@ -202,11 +202,13 @@ namespace MediaBrowser.Providers.Movies var status = ProviderRefreshStatus.Success; - var eligiblePosters = images.posters == null ? - new List() : + var eligiblePosters = images.posters == null ? + new List() : images.posters.Where(i => i.width >= ConfigurationManager.Configuration.MinMoviePosterWidth) .ToList(); + eligiblePosters = eligiblePosters.OrderByDescending(i => i.vote_average).ToList(); + // poster if (eligiblePosters.Count > 0 && !item.HasImage(ImageType.Primary)) { @@ -215,24 +217,26 @@ namespace MediaBrowser.Providers.Movies var tmdbImageUrl = tmdbSettings.images.base_url + "original"; // get highest rated poster for our language - var postersSortedByVote = eligiblePosters.OrderByDescending(i => i.vote_average); + var poster = eligiblePosters.FirstOrDefault(p => string.Equals(p.iso_639_1, ConfigurationManager.Configuration.PreferredMetadataLanguage, StringComparison.OrdinalIgnoreCase)); - var poster = postersSortedByVote.FirstOrDefault(p => p.iso_639_1 != null && p.iso_639_1.Equals(ConfigurationManager.Configuration.PreferredMetadataLanguage, StringComparison.OrdinalIgnoreCase)); - if (poster == null && !ConfigurationManager.Configuration.PreferredMetadataLanguage.Equals("en")) + if (poster == null) { - // couldn't find our specific language, find english (if that wasn't our language) - poster = postersSortedByVote.FirstOrDefault(p => p.iso_639_1 != null && p.iso_639_1.Equals("en", StringComparison.OrdinalIgnoreCase)); + // couldn't find our specific language, find english + poster = eligiblePosters.FirstOrDefault(p => string.Equals(p.iso_639_1, "en", StringComparison.OrdinalIgnoreCase)); } + if (poster == null) { //still couldn't find it - try highest rated null one - poster = postersSortedByVote.FirstOrDefault(p => p.iso_639_1 == null); + poster = eligiblePosters.FirstOrDefault(p => p.iso_639_1 == null); } + if (poster == null) { //finally - just get the highest rated one - poster = postersSortedByVote.FirstOrDefault(); + poster = eligiblePosters.FirstOrDefault(); } + if (poster != null) { var img = await MovieDbProvider.Current.GetMovieDbResponse(new HttpRequestOptions diff --git a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs index 5ba0608de5..35bbba0422 100644 --- a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs +++ b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs @@ -338,7 +338,7 @@ namespace MediaBrowser.Providers.Music if (nodes != null) { var numBackdrops = 0; - item.BackdropImagePaths.Clear(); + foreach (XmlNode node in nodes) { path = node.Value; diff --git a/MediaBrowser.Server.Implementations/Providers/ImageSaver.cs b/MediaBrowser.Server.Implementations/Providers/ImageSaver.cs index 331dea4027..18e64e414f 100644 --- a/MediaBrowser.Server.Implementations/Providers/ImageSaver.cs +++ b/MediaBrowser.Server.Implementations/Providers/ImageSaver.cs @@ -341,8 +341,6 @@ namespace MediaBrowser.Server.Implementations.Providers extension = "jpg"; } - filename += "." + extension.ToLower(); - string path = null; if (saveLocally) @@ -354,10 +352,12 @@ namespace MediaBrowser.Server.Implementations.Providers if (string.IsNullOrEmpty(path) && !string.IsNullOrEmpty(item.MetaLocation)) { - path = Path.Combine(item.MetaLocation, filename); + path = Path.Combine(item.MetaLocation, filename + extension.ToLower()); } } + filename += "." + extension.ToLower(); + // None of the save local conditions passed, so store it in our internal folders if (string.IsNullOrEmpty(path)) {