Sonarr/src/NzbDrone.Core/ImportLists/Rss/RssImportBase.cs

46 lines
1.4 KiB
C#

using System;
using NLog;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Localization;
using NzbDrone.Core.Parser;
namespace NzbDrone.Core.ImportLists.Rss
{
public class RssImportBase<TSettings> : HttpImportListBase<TSettings>
where TSettings : RssImportBaseSettings<TSettings>, new()
{
public override string Name => "RSS List Base";
public override ImportListType ListType => ImportListType.Advanced;
public override TimeSpan MinRefreshInterval => TimeSpan.FromHours(6);
public RssImportBase(IHttpClient httpClient,
IImportListStatusService importListStatusService,
IConfigService configService,
IParsingService parsingService,
ILocalizationService localizationService,
Logger logger)
: base(httpClient, importListStatusService, configService, parsingService, localizationService, logger)
{
}
public override ImportListFetchResult Fetch()
{
return FetchItems(g => g.GetListItems());
}
public override IParseImportListResponse GetParser()
{
return new RssImportBaseParser(_logger);
}
public override IImportListRequestGenerator GetRequestGenerator()
{
return new RssImportRequestGenerator<TSettings>
{
Settings = Settings
};
}
}
}