diff --git a/src/Jackett.Common/Indexers/Libble.cs b/src/Jackett.Common/Indexers/Libble.cs index 735890b93..5197760c6 100644 --- a/src/Jackett.Common/Indexers/Libble.cs +++ b/src/Jackett.Common/Indexers/Libble.cs @@ -65,7 +65,7 @@ namespace Jackett.Common.Indexers { MusicSearchParams = new List { - MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year + MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year, MusicSearchParam.Genre } }, configService: configService, @@ -156,6 +156,9 @@ namespace Jackett.Common.Indexers if (query.Album != null) queryCollection.Add("groupname", query.Album); + if (query.IsGenreQuery) + queryCollection.Add("taglist", query.Genre); + searchUrl += "?" + queryCollection.GetQueryString(); 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 thumbnailNode = row.QuerySelector(".thumbnail"); + var releaseGenres = new List(); + 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"; if (artistsNameNodes.Count() > 0) { @@ -287,6 +299,9 @@ namespace Jackett.Common.Indexers var releaseTagsString = string.Join(" / ", releaseTags); release.Title = String.Format("{0} - {1} [{2}] {3}", releaseArtist, releaseAlbumName, releaseAlbumYear, releaseTagsString); + release.Description = releaseDescription; + release.Genres = releaseGenres; + releases.Add(release); } }