mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-14 10:47:08 -07:00
Fixed import new series being stuck in a loop if an update failed
Seperated IndexerProviderTest from ProviderTests Fixed some ToString() issues Refactored IndexerBase/IndexerProvider
This commit is contained in:
parent
474f17c5e6
commit
a6ad977114
18 changed files with 403 additions and 306 deletions
|
@ -13,6 +13,8 @@ namespace NzbDrone.Core.Providers
|
|||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||
private readonly IRepository _repository;
|
||||
|
||||
private IList<IndexerBase> _indexers = new List<IndexerBase>();
|
||||
|
||||
public IndexerProvider(IRepository repository)
|
||||
{
|
||||
_repository = repository;
|
||||
|
@ -23,7 +25,13 @@ namespace NzbDrone.Core.Providers
|
|||
|
||||
}
|
||||
|
||||
public virtual List<IndexerSetting> All()
|
||||
public virtual IList<IndexerBase> GetEnabledIndexers()
|
||||
{
|
||||
var all = GetAllISettings();
|
||||
return _indexers.Where(i => all.Exists(c => c.IndexProviderType == i.GetType().ToString() && c.Enable)).ToList();
|
||||
}
|
||||
|
||||
public virtual List<IndexerSetting> GetAllISettings()
|
||||
{
|
||||
return _repository.All<IndexerSetting>().ToList();
|
||||
}
|
||||
|
@ -47,23 +55,20 @@ namespace NzbDrone.Core.Providers
|
|||
return _repository.Single<IndexerSetting>(s => s.IndexProviderType == type.ToString());
|
||||
}
|
||||
|
||||
public virtual IndexerSetting GetSettings(int id)
|
||||
{
|
||||
return _repository.Single<IndexerSetting>(s => s.Id == id);
|
||||
}
|
||||
|
||||
public virtual void InitializeIndexers(IList<IndexerBase> indexers)
|
||||
{
|
||||
Logger.Info("Initializing indexers. Count {0}", indexers.Count);
|
||||
|
||||
var currentIndexers = All();
|
||||
_indexers = indexers;
|
||||
|
||||
var currentIndexers = GetAllISettings();
|
||||
|
||||
foreach (var feedProvider in indexers)
|
||||
{
|
||||
IndexerBase indexerLocal = feedProvider;
|
||||
if (!currentIndexers.Exists(c => c.IndexProviderType == indexerLocal.GetType().ToString()))
|
||||
{
|
||||
var settings = new IndexerSetting()
|
||||
var settings = new IndexerSetting
|
||||
{
|
||||
Enable = false,
|
||||
IndexProviderType = indexerLocal.GetType().ToString(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue