Newznab Indexer should not cause everything to fail and we should get exceptions.

This commit is contained in:
Mark McDowall 2012-05-12 09:31:54 -07:00
parent 3468adf85c
commit 9ae7731aa3
1 changed files with 39 additions and 21 deletions

View File

@ -70,34 +70,52 @@ namespace NzbDrone.Core.Providers
{ {
Logger.Debug("Initializing Newznab indexers. Count {0}", indexers.Count); Logger.Debug("Initializing Newznab indexers. Count {0}", indexers.Count);
var currentIndexers = All(); try
foreach (var feedProvider in indexers)
{ {
NewznabDefinition indexerLocal = feedProvider; var currentIndexers = All();
var currentIndexer = currentIndexers
.FirstOrDefault(c => new Uri(c.Url.ToLower()).Host == new Uri(indexerLocal.Url.ToLower()).Host);
if (currentIndexer == null) foreach(var feedProvider in indexers)
{ {
var settings = new NewznabDefinition try
{ {
Enable = false,
Name = indexerLocal.Name,
Url = indexerLocal.Url,
ApiKey = indexerLocal.ApiKey,
BuiltIn = true
};
Save(settings);
}
else NewznabDefinition indexerLocal = feedProvider;
{ var currentIndexer = currentIndexers
currentIndexer.BuiltIn = true; .FirstOrDefault(
Save(currentIndexer); c =>
new Uri(c.Url.ToLower()).Host == new Uri(indexerLocal.Url.ToLower()).Host);
if (currentIndexer == null)
{
var settings = new NewznabDefinition
{
Enable = false,
Name = indexerLocal.Name,
Url = indexerLocal.Url,
ApiKey = indexerLocal.ApiKey,
BuiltIn = true
};
Save(settings);
}
else
{
currentIndexer.BuiltIn = true;
Save(currentIndexer);
}
}
catch (Exception ex)
{
Logger.ErrorException("An error occurred while setting up indexer: " + feedProvider.Name, ex);
}
} }
} }
catch(Exception ex)
{
Logger.ErrorException("An Error occurred while initializing Newznab Indexers", ex);
}
} }
public virtual void Delete(int id) public virtual void Delete(int id)