From b547156d91eb5531db5dfa9472b10c5f53b3f5d0 Mon Sep 17 00:00:00 2001 From: Qstick Date: Sat, 22 Oct 2022 23:45:49 -0500 Subject: [PATCH] Fixed: (Newznab) Search with year for self-title albums Fixes #2716 --- .../Newznab/NewznabRequestGenerator.cs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core/Indexers/Newznab/NewznabRequestGenerator.cs b/src/NzbDrone.Core/Indexers/Newznab/NewznabRequestGenerator.cs index 05efd709f..14379613c 100644 --- a/src/NzbDrone.Core/Indexers/Newznab/NewznabRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Newznab/NewznabRequestGenerator.cs @@ -93,9 +93,16 @@ namespace NzbDrone.Core.Indexers.Newznab var artistQuery = AudioTextSearchEngine == "raw" ? searchCriteria.ArtistQuery : searchCriteria.CleanArtistQuery; var albumQuery = AudioTextSearchEngine == "raw" ? searchCriteria.AlbumQuery : searchCriteria.CleanAlbumQuery; + var searchQuery = $"&artist={NewsnabifyTitle(artistQuery)}&album={NewsnabifyTitle(albumQuery)}"; + + if (artistQuery == albumQuery && searchCriteria.AlbumYear > 0) + { + searchQuery = $"&artist={NewsnabifyTitle(artistQuery)}&album={NewsnabifyTitle(albumQuery)}&year={searchCriteria.AlbumYear}"; + } + AddAudioPageableRequests(pageableRequests, searchCriteria, - $"&artist={NewsnabifyTitle(artistQuery)}&album={NewsnabifyTitle(albumQuery)}"); + searchQuery); } if (SupportsSearch) @@ -105,10 +112,17 @@ namespace NzbDrone.Core.Indexers.Newznab var artistQuery = TextSearchEngine == "raw" ? searchCriteria.ArtistQuery : searchCriteria.CleanArtistQuery; var albumQuery = TextSearchEngine == "raw" ? searchCriteria.AlbumQuery : searchCriteria.CleanAlbumQuery; + var searchQuery = $"{artistQuery}+{albumQuery}"; + + if (artistQuery == albumQuery) + { + searchQuery = $"{artistQuery}+{albumQuery}+{searchCriteria.AlbumYear}"; + } + pageableRequests.Add(GetPagedRequests(MaxPages, Settings.Categories, "search", - $"&q={NewsnabifyTitle($"{artistQuery}+{albumQuery}")}")); + $"&q={NewsnabifyTitle(searchQuery)}")); } return pageableRequests;