libble: add genre query and results

This commit is contained in:
Garfield69 2022-08-03 16:26:09 +12:00
parent 017ebba3bc
commit 03f511dfd1
1 changed files with 16 additions and 1 deletions

View File

@ -65,7 +65,7 @@ namespace Jackett.Common.Indexers
{ {
MusicSearchParams = new List<MusicSearchParam> MusicSearchParams = new List<MusicSearchParam>
{ {
MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year, MusicSearchParam.Genre
} }
}, },
configService: configService, configService: configService,
@ -156,6 +156,9 @@ namespace Jackett.Common.Indexers
if (query.Album != null) if (query.Album != null)
queryCollection.Add("groupname", query.Album); queryCollection.Add("groupname", query.Album);
if (query.IsGenreQuery)
queryCollection.Add("taglist", query.Genre);
searchUrl += "?" + queryCollection.GetQueryString(); searchUrl += "?" + queryCollection.GetQueryString();
var searchPage = await RequestWithCookiesAndRetryAsync(searchUrl, method: RequestType.POST, data: searchParams); var searchPage = await RequestWithCookiesAndRetryAsync(searchUrl, method: RequestType.POST, data: searchParams);
@ -181,6 +184,15 @@ namespace Jackett.Common.Indexers
var categoryNode = row.QuerySelector(".cats_col > div"); var categoryNode = row.QuerySelector(".cats_col > div");
var thumbnailNode = row.QuerySelector(".thumbnail"); var thumbnailNode = row.QuerySelector(".thumbnail");
var releaseGenres = new List<string>();
var releaseDescription = "";
var genres = row.QuerySelector("div.tags")?.TextContent;
if (!string.IsNullOrEmpty(genres))
{
releaseDescription = genres.Trim();
releaseGenres = releaseGenres.Union(releaseDescription.Split(',')).ToList();
}
var releaseArtist = "Various Artists"; var releaseArtist = "Various Artists";
if (artistsNameNodes.Count() > 0) if (artistsNameNodes.Count() > 0)
{ {
@ -287,6 +299,9 @@ namespace Jackett.Common.Indexers
var releaseTagsString = string.Join(" / ", releaseTags); var releaseTagsString = string.Join(" / ", releaseTags);
release.Title = String.Format("{0} - {1} [{2}] {3}", releaseArtist, releaseAlbumName, releaseAlbumYear, releaseTagsString); release.Title = String.Format("{0} - {1} [{2}] {3}", releaseArtist, releaseAlbumName, releaseAlbumYear, releaseTagsString);
release.Description = releaseDescription;
release.Genres = releaseGenres;
releases.Add(release); releases.Add(release);
} }
} }