Merge 61b8aec732
into 3db78079f3
commit
21a7c29197
@ -0,0 +1,54 @@
|
||||
using System.Collections.Generic;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Http;
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NzbDrone.Core.Parser;
|
||||
using NzbDrone.Core.ThingiProvider;
|
||||
|
||||
namespace NzbDrone.Core.ImportLists.Rss.Imdb
|
||||
{
|
||||
public class ImdbRssImport : RssImportBase<ImdbRssImportSettings>
|
||||
{
|
||||
public override string Name => "IMDb RSS";
|
||||
public override ImportListType ListType => ImportListType.Advanced;
|
||||
|
||||
public ImdbRssImport(IHttpClient httpClient,
|
||||
IImportListStatusService importListStatusService,
|
||||
IConfigService configService,
|
||||
IParsingService parsingService,
|
||||
Logger logger)
|
||||
: base(httpClient, importListStatusService, configService, parsingService, logger)
|
||||
{
|
||||
}
|
||||
|
||||
public override IEnumerable<ProviderDefinition> DefaultDefinitions
|
||||
{
|
||||
get
|
||||
{
|
||||
yield return new ImportListDefinition
|
||||
{
|
||||
Name = "IMDb RSS List",
|
||||
Enabled = Enabled,
|
||||
EnableAuto = true,
|
||||
ProfileId = 1,
|
||||
Implementation = GetType().Name,
|
||||
Settings = new ImdbRssImportSettings { Url = "https://rss.imdb.com/list/YOURLISTID" },
|
||||
};
|
||||
yield return new ImportListDefinition
|
||||
{
|
||||
Name = "IMDb RSS Watchlist",
|
||||
Enabled = Enabled,
|
||||
EnableAuto = true,
|
||||
ProfileId = 1,
|
||||
Implementation = GetType().Name,
|
||||
Settings = new ImdbRssImportSettings { Url = "https://rss.imdb.com/user/IMDBUSERID/watchlist" },
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public override IParseImportListResponse GetParser()
|
||||
{
|
||||
return new ImdbRssImportParser(_logger);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Xml.Linq;
|
||||
using NLog;
|
||||
using NzbDrone.Core.ImportLists.ImportListMovies;
|
||||
|
||||
namespace NzbDrone.Core.ImportLists.Rss.Imdb
|
||||
{
|
||||
public class ImdbRssImportParser : RssImportBaseParser
|
||||
{
|
||||
public ImdbRssImportParser(Logger logger)
|
||||
: base(logger)
|
||||
{
|
||||
}
|
||||
|
||||
protected override ImportListMovie ProcessItem(XElement item)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
using FluentValidation;
|
||||
using NzbDrone.Core.Annotations;
|
||||
using NzbDrone.Core.Validation;
|
||||
|
||||
namespace NzbDrone.Core.ImportLists.Rss.Imdb
|
||||
{
|
||||
public class ImdbRssImportSettingsValidator : AbstractValidator<ImdbRssImportSettings>
|
||||
{
|
||||
public ImdbRssImportSettingsValidator()
|
||||
{
|
||||
RuleFor(c => c.Url).NotEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
public class ImdbRssImportSettings : RssImportBaseSettings
|
||||
{
|
||||
private ImdbRssImportSettingsValidator Validator => new ();
|
||||
|
||||
[FieldDefinition(0, Label = "Url", Type = FieldType.Textbox)]
|
||||
public override string Url { get; set; }
|
||||
|
||||
public override NzbDroneValidationResult Validate()
|
||||
{
|
||||
return new NzbDroneValidationResult(Validator.Validate(this));
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in new issue