You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Radarr/src/NzbDrone.Core/ImportLists/RadarrList2/IMDb/IMDbListImport.cs

79 lines
2.6 KiB

using System.Collections.Generic;
using NLog;
using NzbDrone.Common.Cloud;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Parser;
using NzbDrone.Core.ThingiProvider;
namespace NzbDrone.Core.ImportLists.RadarrList2.IMDbList
{
public class IMDbListImport : HttpImportListBase<IMDbListSettings>
{
private readonly IHttpRequestBuilderFactory _radarrMetadata;
public override string Name => "IMDb Lists";
public override ImportListType ListType => ImportListType.Other;
public override bool Enabled => true;
public override bool EnableAuto => false;
public IMDbListImport(IRadarrCloudRequestBuilder requestBuilder,
IHttpClient httpClient,
IImportListStatusService importListStatusService,
IConfigService configService,
IParsingService parsingService,
Logger logger)
: base(httpClient, importListStatusService, configService, parsingService, logger)
{
_radarrMetadata = requestBuilder.RadarrMetadata;
}
public override IEnumerable<ProviderDefinition> DefaultDefinitions
{
get
{
foreach (var def in base.DefaultDefinitions)
{
yield return def;
}
yield return new ImportListDefinition
{
Name = "IMDb Top 250",
Enabled = Enabled,
EnableAuto = true,
ProfileId = 1,
Implementation = GetType().Name,
Settings = new IMDbListSettings { ListId = "top250" },
};
yield return new ImportListDefinition
{
Name = "IMDb Popular Movies",
Enabled = Enabled,
EnableAuto = true,
ProfileId = 1,
Implementation = GetType().Name,
Settings = new IMDbListSettings { ListId = "popular" },
};
}
}
public override IImportListRequestGenerator GetRequestGenerator()
{
return new IMDbListRequestGenerator()
{
Settings = Settings,
Logger = _logger,
HttpClient = _httpClient,
RequestBuilder = _radarrMetadata
};
}
public override IParseImportListResponse GetParser()
{
return new IMDbListParser(Settings);
}
}
}