From 8c4d99eeff581dd156306cb508d2d77b3ccc5ef0 Mon Sep 17 00:00:00 2001 From: Daniel Underwood Date: Fri, 7 Jul 2017 23:27:18 -0400 Subject: [PATCH] Add artist and year to album spec string when available --- .../IndexerSearch/Definitions/AlbumSearchCriteria.cs | 11 ++++++++++- src/NzbDrone.Core/IndexerSearch/NzbSearchService.cs | 5 +++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/NzbDrone.Core/IndexerSearch/Definitions/AlbumSearchCriteria.cs b/src/NzbDrone.Core/IndexerSearch/Definitions/AlbumSearchCriteria.cs index 53542b5c5..82ffef1df 100644 --- a/src/NzbDrone.Core/IndexerSearch/Definitions/AlbumSearchCriteria.cs +++ b/src/NzbDrone.Core/IndexerSearch/Definitions/AlbumSearchCriteria.cs @@ -6,7 +6,16 @@ namespace NzbDrone.Core.IndexerSearch.Definitions { public override string ToString() { - return $"[{Album.Title}]"; + var baseRepresentation = $"[{Artist.Name} - {Album.Title}]"; + if (Album.ReleaseDate.HasValue) + { + var beforeLast = baseRepresentation.Length - 1; + return baseRepresentation.Insert(beforeLast, $" ({Album.ReleaseDate.Value.Year})"); + } + else + { + return baseRepresentation; + } } } } diff --git a/src/NzbDrone.Core/IndexerSearch/NzbSearchService.cs b/src/NzbDrone.Core/IndexerSearch/NzbSearchService.cs index c5019f638..cc37ddbab 100644 --- a/src/NzbDrone.Core/IndexerSearch/NzbSearchService.cs +++ b/src/NzbDrone.Core/IndexerSearch/NzbSearchService.cs @@ -34,6 +34,7 @@ namespace NzbDrone.Core.IndexerSearch private readonly IEpisodeService _episodeService; private readonly IAlbumService _albumService; + private readonly IArtistService _artistService; private readonly IMakeDownloadDecision _makeDownloadDecision; private readonly Logger _logger; @@ -42,6 +43,7 @@ namespace NzbDrone.Core.IndexerSearch ISeriesService seriesService, IEpisodeService episodeService, IAlbumService albumService, + IArtistService artistService, IMakeDownloadDecision makeDownloadDecision, Logger logger) { @@ -50,6 +52,7 @@ namespace NzbDrone.Core.IndexerSearch _seriesService = seriesService; _episodeService = episodeService; _albumService = albumService; + _artistService = artistService; _makeDownloadDecision = makeDownloadDecision; _logger = logger; } @@ -269,7 +272,9 @@ namespace NzbDrone.Core.IndexerSearch { var spec = new TSpec(); + album = _albumService.GetAlbum(album.Id); spec.Album = album; + spec.Artist = _artistService.GetArtist(album.ArtistId); spec.UserInvokedSearch = userInvokedSearch; return spec;