mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
Continue loading cardigann definition in case of an error
This commit is contained in:
@@ -115,20 +115,35 @@ namespace Jackett.Services
|
|||||||
{
|
{
|
||||||
logger.Info("Loading Cardigann definition " + file.FullName);
|
logger.Info("Loading Cardigann definition " + file.FullName);
|
||||||
|
|
||||||
string DefinitionString = File.ReadAllText(file.FullName);
|
try {
|
||||||
var definition = deserializer.Deserialize<IndexerDefinition>(DefinitionString);
|
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;
|
List<IIndexer> cardigannIndexers = definitions.Select(definition =>
|
||||||
});
|
|
||||||
var cardigannIndexers = definitions.Select(definition =>
|
|
||||||
{
|
{
|
||||||
// create own webClient instance for each indexer (seperate cookies stores, etc.)
|
try
|
||||||
var indexerWebClientInstance = (IWebClient)Activator.CreateInstance(webClient.GetType(), processService, logger, globalConfigService);
|
{
|
||||||
|
// 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);
|
IIndexer indexer = new CardigannIndexer(configService, indexerWebClientInstance, logger, protectionService, definition);
|
||||||
configService.Load(indexer);
|
configService.Load(indexer);
|
||||||
return indexer;
|
return indexer;
|
||||||
}).ToList(); // Explicit conversion to list to avoid repeated resource loading
|
}
|
||||||
|
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)
|
foreach (var indexer in cardigannIndexers)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user