From b30dec13dcb9899166e5107e731f8faa1b4d24de Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Mon, 22 May 2023 10:28:18 -0700 Subject: [PATCH] Rename Clearart to Clearlogo, use png for Clearlogo (cherry picked from commit 349f7cf4c934fbf53516f7e92026282750180a16) Fixes #3721 --- src/NzbDrone.Core/MediaCover/MediaCover.cs | 2 +- .../MediaCover/MediaCoverService.cs | 30 +++++++++++++------ 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/NzbDrone.Core/MediaCover/MediaCover.cs b/src/NzbDrone.Core/MediaCover/MediaCover.cs index 1addc5e16..15f409826 100644 --- a/src/NzbDrone.Core/MediaCover/MediaCover.cs +++ b/src/NzbDrone.Core/MediaCover/MediaCover.cs @@ -16,7 +16,7 @@ namespace NzbDrone.Core.MediaCover Cover = 6, Disc = 7, Logo = 8, - Clearart = 9 + Clearlogo = 9 } public enum MediaCoverEntity diff --git a/src/NzbDrone.Core/MediaCover/MediaCoverService.cs b/src/NzbDrone.Core/MediaCover/MediaCoverService.cs index a222fd489..77e80df78 100644 --- a/src/NzbDrone.Core/MediaCover/MediaCoverService.cs +++ b/src/NzbDrone.Core/MediaCover/MediaCoverService.cs @@ -19,7 +19,7 @@ namespace NzbDrone.Core.MediaCover public interface IMapCoversToLocal { void ConvertToLocalUrls(int entityId, MediaCoverEntity coverEntity, IEnumerable covers); - string GetCoverPath(int entityId, MediaCoverEntity coverEntity, MediaCoverTypes mediaCoverTypes, string extension, int? height = null); + string GetCoverPath(int entityId, MediaCoverEntity coverEntity, MediaCoverTypes coverType, string extension, int? height = null); bool EnsureAlbumCovers(Album album); } @@ -70,18 +70,16 @@ namespace NzbDrone.Core.MediaCover _coverRootFolder = appFolderInfo.GetMediaCoverPath(); } - public string GetCoverPath(int entityId, MediaCoverEntity coverEntity, MediaCoverTypes coverTypes, string extension, int? height = null) + public string GetCoverPath(int entityId, MediaCoverEntity coverEntity, MediaCoverTypes coverType, string extension, int? height = null) { var heightSuffix = height.HasValue ? "-" + height.ToString() : ""; if (coverEntity == MediaCoverEntity.Album) { - return Path.Combine(GetAlbumCoverPath(entityId), coverTypes.ToString().ToLower() + heightSuffix + extension); - } - else - { - return Path.Combine(GetArtistCoverPath(entityId), coverTypes.ToString().ToLower() + heightSuffix + extension); + return Path.Combine(GetAlbumCoverPath(entityId), coverType.ToString().ToLower() + heightSuffix + GetExtension(coverType, extension)); } + + return Path.Combine(GetArtistCoverPath(entityId), coverType.ToString().ToLower() + heightSuffix + GetExtension(coverType, extension)); } public void ConvertToLocalUrls(int entityId, MediaCoverEntity coverEntity, IEnumerable covers) @@ -99,17 +97,22 @@ namespace NzbDrone.Core.MediaCover { foreach (var mediaCover in covers) { + if (mediaCover.CoverType == MediaCoverTypes.Unknown) + { + continue; + } + var filePath = GetCoverPath(entityId, coverEntity, mediaCover.CoverType, mediaCover.Extension, null); mediaCover.RemoteUrl = mediaCover.Url; if (coverEntity == MediaCoverEntity.Album) { - mediaCover.Url = _configFileProvider.UrlBase + @"/MediaCover/Albums/" + entityId + "/" + mediaCover.CoverType.ToString().ToLower() + mediaCover.Extension; + mediaCover.Url = _configFileProvider.UrlBase + @"/MediaCover/Albums/" + entityId + "/" + mediaCover.CoverType.ToString().ToLower() + GetExtension(mediaCover.CoverType, mediaCover.Extension); } else { - mediaCover.Url = _configFileProvider.UrlBase + @"/MediaCover/" + entityId + "/" + mediaCover.CoverType.ToString().ToLower() + mediaCover.Extension; + mediaCover.Url = _configFileProvider.UrlBase + @"/MediaCover/" + entityId + "/" + mediaCover.CoverType.ToString().ToLower() + GetExtension(mediaCover.CoverType, mediaCover.Extension); } if (_diskProvider.FileExists(filePath)) @@ -312,6 +315,15 @@ namespace NzbDrone.Core.MediaCover } } + private string GetExtension(MediaCoverTypes coverType, string defaultExtension) + { + return coverType switch + { + MediaCoverTypes.Clearlogo => ".png", + _ => defaultExtension + }; + } + public void HandleAsync(ArtistRefreshCompleteEvent message) { var updated = EnsureArtistCovers(message.Artist);