diff --git a/src/NzbDrone.Core/IndexerSearch/Definitions/MusicSearchCriteria.cs b/src/NzbDrone.Core/IndexerSearch/Definitions/MusicSearchCriteria.cs index 337c06fa5..d75e3a0db 100644 --- a/src/NzbDrone.Core/IndexerSearch/Definitions/MusicSearchCriteria.cs +++ b/src/NzbDrone.Core/IndexerSearch/Definitions/MusicSearchCriteria.cs @@ -7,6 +7,8 @@ namespace NzbDrone.Core.IndexerSearch.Definitions public string Album { get; set; } public string Artist { get; set; } public string Label { get; set; } + public string Genre { get; set; } + public int? Year { get; set; } public override bool RssSearch { diff --git a/src/NzbDrone.Core/IndexerSearch/ReleaseSearchService.cs b/src/NzbDrone.Core/IndexerSearch/ReleaseSearchService.cs index c274e95f2..ac05628f5 100644 --- a/src/NzbDrone.Core/IndexerSearch/ReleaseSearchService.cs +++ b/src/NzbDrone.Core/IndexerSearch/ReleaseSearchService.cs @@ -72,6 +72,8 @@ namespace NzbDrone.Core.IndexerSearch searchSpec.Artist = request.artist; searchSpec.Album = request.album; searchSpec.Label = request.label; + searchSpec.Genre = request.genre; + searchSpec.Year = request.year; return new NewznabResults { Releases = await Dispatch(indexer => indexer.Fetch(searchSpec), searchSpec) }; } diff --git a/src/NzbDrone.Core/Indexers/IndexerCapabilities.cs b/src/NzbDrone.Core/Indexers/IndexerCapabilities.cs index 3d58c2739..e0e26593b 100644 --- a/src/NzbDrone.Core/Indexers/IndexerCapabilities.cs +++ b/src/NzbDrone.Core/Indexers/IndexerCapabilities.cs @@ -35,7 +35,8 @@ namespace NzbDrone.Core.Indexers Album, Artist, Label, - Year + Year, + Genre } public enum SearchParam @@ -84,6 +85,7 @@ namespace NzbDrone.Core.Indexers public bool MusicSearchArtistAvailable => MusicSearchParams.Contains(MusicSearchParam.Artist); public bool MusicSearchLabelAvailable => MusicSearchParams.Contains(MusicSearchParam.Label); public bool MusicSearchYearAvailable => MusicSearchParams.Contains(MusicSearchParam.Year); + public bool MusicSearchGenreAvailable => MusicSearchParams.Contains(MusicSearchParam.Genre); public List BookSearchParams; public bool BookSearchAvailable => BookSearchParams.Count > 0; @@ -359,6 +361,11 @@ namespace NzbDrone.Core.Indexers parameters.Add("year"); } + if (MusicSearchGenreAvailable) + { + parameters.Add("genre"); + } + return string.Join(",", parameters); }