Fixed: (Nebulance) Use single wildcard in search

pull/1359/head
Bogdan 2 years ago committed by Qstick
parent 560cda8ba0
commit 07cc1e03c8

@ -36,7 +36,7 @@ namespace NzbDrone.Core.Indexers.Definitions
public override IIndexerRequestGenerator GetRequestGenerator()
{
return new NebulanceRequestGenerator() { Settings = Settings, Capabilities = Capabilities };
return new NebulanceRequestGenerator(Settings);
}
public override IParseIndexerResponse GetParser()
@ -64,15 +64,19 @@ namespace NzbDrone.Core.Indexers.Definitions
public class NebulanceRequestGenerator : IIndexerRequestGenerator
{
public NebulanceSettings Settings { get; set; }
public IndexerCapabilities Capabilities { get; set; }
private readonly NebulanceSettings _settings;
public NebulanceRequestGenerator(NebulanceSettings settings)
{
_settings = settings;
}
private IEnumerable<IndexerRequest> GetPagedRequests(NebulanceQuery parameters, int? results, int? offset)
{
var apiUrl = Settings.BaseUrl + "api.php";
var apiUrl = _settings.BaseUrl + "api.php";
var builder = new JsonRpcRequestBuilder(apiUrl)
.Call("getTorrents", Settings.ApiKey, parameters, results ?? 100, offset ?? 0);
.Call("getTorrents", _settings.ApiKey, parameters, results ?? 100, offset ?? 0);
builder.SuppressHttpError = true;
@ -100,7 +104,7 @@ namespace NzbDrone.Core.Indexers.Definitions
if (searchCriteria.SanitizedTvSearchString.IsNotNullOrWhiteSpace())
{
queryParams.Name = "%" + Regex.Replace(searchCriteria.SanitizedTvSearchString, @"[ -._]", "%").Trim() + "%";
queryParams.Name = "%" + Regex.Replace(searchCriteria.SanitizedTvSearchString, @"[ -._]+", "%").Trim() + "%";
}
if (searchCriteria.TvMazeId.HasValue)
@ -109,7 +113,7 @@ namespace NzbDrone.Core.Indexers.Definitions
if (searchCriteria.EpisodeSearchString.IsNotNullOrWhiteSpace())
{
queryParams.Name = "%" + Regex.Replace(searchCriteria.EpisodeSearchString, @"[ -._]", "%").Trim() + "%";
queryParams.Name = "%" + Regex.Replace(searchCriteria.EpisodeSearchString, @"[ -._]+", "%").Trim() + "%";
}
}
else if (searchCriteria.ImdbId.IsNotNullOrWhiteSpace() && int.TryParse(searchCriteria.ImdbId, out var intImdb))
@ -118,7 +122,7 @@ namespace NzbDrone.Core.Indexers.Definitions
if (searchCriteria.EpisodeSearchString.IsNotNullOrWhiteSpace())
{
queryParams.Name = "%" + Regex.Replace(searchCriteria.EpisodeSearchString, @"[ -._]", "%").Trim() + "%";
queryParams.Name = "%" + Regex.Replace(searchCriteria.EpisodeSearchString, @"[ -._]+", "%").Trim() + "%";
}
}
@ -143,7 +147,7 @@ namespace NzbDrone.Core.Indexers.Definitions
if (searchCriteria.SanitizedSearchTerm.IsNotNullOrWhiteSpace())
{
queryParams.Name = "%" + Regex.Replace(searchCriteria.SanitizedSearchTerm, @"[ -._]", "%").Trim() + "%";
queryParams.Name = "%" + Regex.Replace(searchCriteria.SanitizedSearchTerm, @"[ -._]+", "%").Trim() + "%";
}
pageableRequests.Add(GetPagedRequests(queryParams, searchCriteria.Limit, searchCriteria.Offset));

Loading…
Cancel
Save