Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/Prowlarr/commit/4da3e7b2b3165ad53e23df96ae91457b83f8b675 You should set ROOT_URL correctly, otherwise the web may not work correctly.

Fixed: (MyAnonamouse) Sanitise search query and stop search if term is empty

pull/2198/head
Bogdan 7 months ago
parent 66f38f1566
commit 4da3e7b2b3

@ -45,7 +45,7 @@ namespace NzbDrone.Core.Indexers.Definitions
public override IIndexerRequestGenerator GetRequestGenerator()
{
return new MyAnonamouseRequestGenerator { Settings = Settings, Capabilities = Capabilities };
return new MyAnonamouseRequestGenerator(Settings, Capabilities, _logger);
}
public override IParseIndexerResponse GetParser()
@ -210,14 +210,31 @@ namespace NzbDrone.Core.Indexers.Definitions
public class MyAnonamouseRequestGenerator : IIndexerRequestGenerator
{
public MyAnonamouseSettings Settings { get; set; }
public IndexerCapabilities Capabilities { get; set; }
private static readonly Regex SanitizeSearchQueryRegex = new ("[^\\w]+", RegexOptions.IgnoreCase | RegexOptions.Compiled);
private readonly MyAnonamouseSettings _settings;
private readonly IndexerCapabilities _capabilities;
private readonly Logger _logger;
public MyAnonamouseRequestGenerator(MyAnonamouseSettings settings, IndexerCapabilities capabilities, Logger logger)
{
_settings = settings;
_capabilities = capabilities;
_logger = logger;
}
private IEnumerable<IndexerRequest> GetPagedRequests(SearchCriteriaBase searchCriteria)
{
var term = searchCriteria.SanitizedSearchTerm.Trim();
var term = SanitizeSearchQueryRegex.Replace(searchCriteria.SanitizedSearchTerm, " ").Trim();
if (searchCriteria.SearchTerm.IsNotNullOrWhiteSpace() && term.IsNullOrWhiteSpace())
{
_logger.Debug("Search term is empty after being sanitized, stopping search. Initial search term: '{0}'", searchCriteria.SearchTerm);
yield break;
}
var searchType = Settings.SearchType switch
var searchType = _settings.SearchType switch
{
(int)MyAnonamouseSearchType.Active => "active",
(int)MyAnonamouseSearchType.Freeleech => "fl",
@ -242,22 +259,22 @@ namespace NzbDrone.Core.Indexers.Definitions
{ "description", "1" } // include the description
};
if (Settings.SearchInDescription)
if (_settings.SearchInDescription)
{
parameters.Set("tor[srchIn][description]", "true");
}
if (Settings.SearchInSeries)
if (_settings.SearchInSeries)
{
parameters.Set("tor[srchIn][series]", "true");
}
if (Settings.SearchInFilenames)
if (_settings.SearchInFilenames)
{
parameters.Set("tor[srchIn][filenames]", "true");
}
var catList = Capabilities.Categories.MapTorznabCapsToTrackers(searchCriteria.Categories);
var catList = _capabilities.Categories.MapTorznabCapsToTrackers(searchCriteria.Categories);
if (catList.Any())
{
var index = 0;
@ -287,7 +304,7 @@ namespace NzbDrone.Core.Indexers.Definitions
parameters.Set("tor[unit]", "1");
}
var searchUrl = Settings.BaseUrl + "tor/js/loadSearchJSONbasic.php";
var searchUrl = _settings.BaseUrl + "tor/js/loadSearchJSONbasic.php";
if (parameters.Count > 0)
{

Loading…
Cancel
Save