1
0
Fork 0
mirror of https://github.com/Jackett/Jackett synced 2025-02-23 23:00:51 +00:00

Continue loading cardigann definition in case of an error

This commit is contained in:
kaso17 2017-09-13 11:33:17 +02:00
parent 34d091942a
commit 4819a3c8ed

View file

@ -115,20 +115,35 @@ namespace Jackett.Services
{
logger.Info("Loading Cardigann definition " + file.FullName);
string DefinitionString = File.ReadAllText(file.FullName);
var definition = deserializer.Deserialize<IndexerDefinition>(DefinitionString);
try {
string DefinitionString = File.ReadAllText(file.FullName);
var definition = deserializer.Deserialize<IndexerDefinition>(DefinitionString);
return definition;
}
catch (Exception ex)
{
logger.Error(ex, "Error while parsing Cardigann definition " + file.FullName + ": " + ex.Message);
return null;
}
}).Where(definition => definition != null);
return definition;
});
var cardigannIndexers = definitions.Select(definition =>
List<IIndexer> cardigannIndexers = definitions.Select(definition =>
{
// create own webClient instance for each indexer (seperate cookies stores, etc.)
var indexerWebClientInstance = (IWebClient)Activator.CreateInstance(webClient.GetType(), processService, logger, globalConfigService);
try
{
// create own webClient instance for each indexer (seperate cookies stores, etc.)
var indexerWebClientInstance = (IWebClient)Activator.CreateInstance(webClient.GetType(), processService, logger, globalConfigService);
IIndexer indexer = new CardigannIndexer(configService, indexerWebClientInstance, logger, protectionService, definition);
configService.Load(indexer);
return indexer;
}).ToList(); // Explicit conversion to list to avoid repeated resource loading
IIndexer indexer = new CardigannIndexer(configService, indexerWebClientInstance, logger, protectionService, definition);
configService.Load(indexer);
return indexer;
}
catch (Exception ex)
{
logger.Error(ex, "Error while creating Cardigann instance from Definition: " + ex.Message);
return null;
}
}).Where(cardigannIndexer => cardigannIndexer != null).ToList(); // Explicit conversion to list to avoid repeated resource loading
foreach (var indexer in cardigannIndexers)
{