nebulance: Move resolution search terms from name to tags (#15070)

This commit is contained in:
vonvenera 2024-02-22 05:56:46 +01:00 committed by GitHub
parent aa44dc8649
commit d9cb7f7c24
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 15 additions and 1 deletions

View File

@ -34,6 +34,8 @@ namespace Jackett.Common.Indexers
protected virtual string APIUrl => SiteLink + "api.php";
protected virtual int KeyLength => 32;
private readonly string[] _moveToTags = { "720p", "1080p", "2160p", "4k" };
// TODO: remove ConfigurationDataAPIKey class and use ConfigurationDataPasskey instead
private new ConfigurationDataAPIKey configData
{
@ -170,7 +172,16 @@ namespace Jackett.Common.Indexers
var searchString = query.GetQueryString();
if (!string.IsNullOrWhiteSpace(searchString))
{
var searchTerms = Regex.Split(searchString, "\\s+").ToList();
var movingToTags = searchTerms.Intersect(_moveToTags, StringComparer.OrdinalIgnoreCase).ToList();
movingToTags.ForEach(
tag => searchTerms.RemoveAll(searchTerm => searchTerm.Equals(tag, StringComparison.OrdinalIgnoreCase)));
searchString = searchTerms.Join(" ");
searchParam["tags"] = new JArray(movingToTags);
searchParam["name"] = "%" + Regex.Replace(searchString, "[\\W]+", "%").Trim() + "%";
}
if (query.IsTvmazeQuery && query.TvmazeID.HasValue)
{
@ -235,7 +246,10 @@ namespace Jackett.Common.Indexers
}
var tags = string.Join(",", item.Value<JArray>("tags"));
var releaseGenres = validList.Intersect(tags.ToLower().Split(delimiters, StringSplitOptions.RemoveEmptyEntries)).ToList();
descriptions.Add("Tags: " + string.Join(",", releaseGenres));
if (releaseGenres.Count >= 1)
{
descriptions.Add("Genre: " + string.Join(",", releaseGenres));
}
var releaseCats = validCats.Intersect(tags.ToLower().Split(delimiters, StringSplitOptions.RemoveEmptyEntries)).ToList();
var release = new ReleaseInfo