1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-04-25 22:37:27 -04:00

New: Enable/Disable RSS Sync/Searching on a per indexer basis

This commit is contained in:
Mark McDowall
2014-08-17 19:25:00 -07:00
parent 7d91b1bdb7
commit ebf0dbc1d0
29 changed files with 279 additions and 132 deletions
+16 -7
View File
@@ -9,22 +9,19 @@ namespace NzbDrone.Core.Indexers
{
public interface IIndexerFactory : IProviderFactory<IIndexer, IndexerDefinition>
{
List<IIndexer> RssEnabled();
List<IIndexer> SearchEnabled();
}
public class IndexerFactory : ProviderFactory<IIndexer, IndexerDefinition>, IIndexerFactory
{
private readonly INewznabTestService _newznabTestService;
public IndexerFactory(IIndexerRepository providerRepository,
IEnumerable<IIndexer> providers,
IContainer container,
IEventAggregator eventAggregator,
INewznabTestService newznabTestService,
IEventAggregator eventAggregator,
Logger logger)
: base(providerRepository, providers, container, eventAggregator, logger)
{
_newznabTestService = newznabTestService;
}
protected override void InitializeProviders()
@@ -37,13 +34,25 @@ namespace NzbDrone.Core.Indexers
return base.Active().Where(c => c.Enable).ToList();
}
protected override IndexerDefinition GetProviderCharacteristics(IIndexer provider, IndexerDefinition definition)
public override IndexerDefinition GetProviderCharacteristics(IIndexer provider, IndexerDefinition definition)
{
definition = base.GetProviderCharacteristics(provider, definition);
definition.Protocol = provider.Protocol;
definition.SupportsRss = provider.SupportsRss;
definition.SupportsSearch = provider.SupportsSearch;
return definition;
}
public List<IIndexer> RssEnabled()
{
return GetAvailableProviders().Where(n => ((IndexerDefinition)n.Definition).EnableRss).ToList();
}
public List<IIndexer> SearchEnabled()
{
return GetAvailableProviders().Where(n => ((IndexerDefinition)n.Definition).EnableSearch).ToList();
}
}
}