New: Added Advanced option to Nyaa to change query parameters for category and filter.

pull/2/head
Taloth Saldono 10 years ago
parent b92cc6fb15
commit a6d2283be8

@ -84,7 +84,7 @@ namespace NzbDrone.Core.Indexers.Nyaa
private IEnumerable<IndexerRequest> GetPagedRequests(Int32 maxPages, String searchParameters) private IEnumerable<IndexerRequest> GetPagedRequests(Int32 maxPages, String searchParameters)
{ {
var baseUrl = String.Format("{0}/?page=rss&cats=1_37&filter=1", Settings.BaseUrl.TrimEnd('/')); var baseUrl = String.Format("{0}/?page=rss{1}", Settings.BaseUrl.TrimEnd('/'), Settings.AdditionalParameters);
if (PageSize == 0) if (PageSize == 0)
{ {

@ -3,7 +3,7 @@ using FluentValidation;
using NzbDrone.Core.Annotations; using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider; using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
using System.Text.RegularExpressions;
namespace NzbDrone.Core.Indexers.Nyaa namespace NzbDrone.Core.Indexers.Nyaa
{ {
public class NyaaSettingsValidator : AbstractValidator<NyaaSettings> public class NyaaSettingsValidator : AbstractValidator<NyaaSettings>
@ -11,6 +11,7 @@ namespace NzbDrone.Core.Indexers.Nyaa
public NyaaSettingsValidator() public NyaaSettingsValidator()
{ {
RuleFor(c => c.BaseUrl).ValidRootUrl(); RuleFor(c => c.BaseUrl).ValidRootUrl();
RuleFor(c => c.AdditionalParameters).Matches("(&[a-z]+=[a-z0-9_]+)*", RegexOptions.IgnoreCase);
} }
} }
@ -21,11 +22,15 @@ namespace NzbDrone.Core.Indexers.Nyaa
public NyaaSettings() public NyaaSettings()
{ {
BaseUrl = "http://www.nyaa.se"; BaseUrl = "http://www.nyaa.se";
AdditionalParameters = "&cats=1_37&filter=1";
} }
[FieldDefinition(0, Label = "Website URL")] [FieldDefinition(0, Label = "Website URL")]
public String BaseUrl { get; set; } public String BaseUrl { get; set; }
[FieldDefinition(1, Label = "Additional Parameters", Advanced = true, HelpText = "Please note if you change the category you will have to add required/restricted rules about the subgroups to avoid foreign language releases.")]
public String AdditionalParameters { get; set; }
public NzbDroneValidationResult Validate() public NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));

Loading…
Cancel
Save