@ -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 = _s ettings. 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 ( S ettings. SearchInDescription )
if ( _s ettings. SearchInDescription )
{
parameters . Set ( "tor[srchIn][description]" , "true" ) ;
}
if ( S ettings. SearchInSeries )
if ( _s ettings. SearchInSeries )
{
parameters . Set ( "tor[srchIn][series]" , "true" ) ;
}
if ( S ettings. SearchInFilenames )
if ( _s ettings. SearchInFilenames )
{
parameters . Set ( "tor[srchIn][filenames]" , "true" ) ;
}
var catList = C apabilities. Categories . MapTorznabCapsToTrackers ( searchCriteria . Categories ) ;
var catList = _c apabilities. 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 = S ettings. BaseUrl + "tor/js/loadSearchJSONbasic.php" ;
var searchUrl = _s ettings. BaseUrl + "tor/js/loadSearchJSONbasic.php" ;
if ( parameters . Count > 0 )
{