Implement Waffles Indexer (#34)

* Implement Waffles Indexer

Implement Waffles Indexer

* Remove Exception Class

Remove Exception Class

* Fix csproj file

Fix csproj file

* Add Test Fixture

Add Test Fixture

* Split line due to length for readability

Split line due to length for readability
This commit is contained in:
Qstick
2017-08-05 22:17:44 -04:00
committed by GitHub
parent ae8c766b57
commit 5556989324
8 changed files with 898 additions and 0 deletions
@@ -0,0 +1,43 @@
using System.Text.RegularExpressions;
using FluentValidation;
using NzbDrone.Core.Annotations;
using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Indexers.Waffles
{
public class WafflesSettingsValidator : AbstractValidator<WafflesSettings>
{
public WafflesSettingsValidator()
{
RuleFor(c => c.BaseUrl).ValidRootUrl();
RuleFor(c => c.UserId).NotEmpty();
RuleFor(c => c.RssPasskey).NotEmpty();
}
}
public class WafflesSettings : IProviderConfig
{
private static readonly WafflesSettingsValidator Validator = new WafflesSettingsValidator();
public WafflesSettings()
{
BaseUrl = "https://www.waffles.ch";
}
[FieldDefinition(0, Label = "Website URL")]
public string BaseUrl { get; set; }
[FieldDefinition(1, Label = "UserId")]
public string UserId { get; set; }
[FieldDefinition(2, Label = "RSS Passkey")]
public string RssPasskey { get; set; }
public NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
}
}