using System; using NLog; using NzbDrone.Common.Http; using NzbDrone.Core.Configuration; using NzbDrone.Core.MetadataSource; using NzbDrone.Core.Parser; using NzbDrone.Core.ThingiProvider; namespace NzbDrone.Core.ImportLists.MusicBrainzSeries { public class MusicBrainzSeries : HttpImportListBase { public override string Name => "MusicBrainz Series"; public override ProviderMessage Message => new ProviderMessage("MusicBrainz Series only supports release groups within series, other types of member will not be picked up by Lidarr", ProviderMessageType.Warning); public override ImportListType ListType => ImportListType.Other; public override TimeSpan MinRefreshInterval => TimeSpan.FromHours(12); private readonly IMetadataRequestBuilder _requestBuilder; public MusicBrainzSeries(IHttpClient httpClient, IImportListStatusService importListStatusService, IConfigService configService, IParsingService parsingService, IMetadataRequestBuilder requestBuilder, Logger logger) : base(httpClient, importListStatusService, configService, parsingService, logger) { _requestBuilder = requestBuilder; } public override IImportListRequestGenerator GetRequestGenerator() { return new MusicBrainzSeriesRequestGenerator(_requestBuilder) { Settings = Settings }; } public override IParseImportListResponse GetParser() { return new MusicBrainzSeriesParser(Settings); } } }