mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2026-04-23 22:45:06 -04:00
Fixed: Cardigann nullref from App add on Indexer Add
This commit is contained in:
@@ -49,14 +49,7 @@ namespace NzbDrone.Core.Indexers
|
||||
{
|
||||
if (definition.Implementation == typeof(Cardigann.Cardigann).Name)
|
||||
{
|
||||
var settings = (CardigannSettings)definition.Settings;
|
||||
var defFile = _definitionService.GetDefinition(settings.DefinitionFile);
|
||||
definition.ExtraFields = defFile.Settings;
|
||||
definition.BaseUrl = defFile.Links.First();
|
||||
definition.Privacy = defFile.Type == "private" ? IndexerPrivacy.Private : IndexerPrivacy.Public;
|
||||
definition.Capabilities = new IndexerCapabilities();
|
||||
definition.Capabilities.ParseCardigannSearchModes(defFile.Caps.Modes);
|
||||
MapCardigannCategories(definition, defFile);
|
||||
MapCardigannDefinition(definition);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,14 +62,7 @@ namespace NzbDrone.Core.Indexers
|
||||
|
||||
if (definition.Implementation == typeof(Cardigann.Cardigann).Name)
|
||||
{
|
||||
var settings = (CardigannSettings)definition.Settings;
|
||||
var defFile = _definitionService.GetDefinition(settings.DefinitionFile);
|
||||
definition.ExtraFields = defFile.Settings;
|
||||
definition.BaseUrl = defFile.Links.First();
|
||||
definition.Privacy = defFile.Type == "private" ? IndexerPrivacy.Private : IndexerPrivacy.Public;
|
||||
definition.Capabilities = new IndexerCapabilities();
|
||||
definition.Capabilities.ParseCardigannSearchModes(defFile.Caps.Modes);
|
||||
MapCardigannCategories(definition, defFile);
|
||||
MapCardigannDefinition(definition);
|
||||
}
|
||||
|
||||
return definition;
|
||||
@@ -87,6 +73,18 @@ namespace NzbDrone.Core.Indexers
|
||||
return base.Active().Where(c => c.Enable).ToList();
|
||||
}
|
||||
|
||||
private void MapCardigannDefinition(IndexerDefinition definition)
|
||||
{
|
||||
var settings = (CardigannSettings)definition.Settings;
|
||||
var defFile = _definitionService.GetDefinition(settings.DefinitionFile);
|
||||
definition.ExtraFields = defFile.Settings;
|
||||
definition.BaseUrl = defFile.Links.First();
|
||||
definition.Privacy = defFile.Type == "private" ? IndexerPrivacy.Private : IndexerPrivacy.Public;
|
||||
definition.Capabilities = new IndexerCapabilities();
|
||||
definition.Capabilities.ParseCardigannSearchModes(defFile.Caps.Modes);
|
||||
MapCardigannCategories(definition, defFile);
|
||||
}
|
||||
|
||||
private void MapCardigannCategories(IndexerDefinition def, CardigannDefinition defFile)
|
||||
{
|
||||
if (defFile.Caps.Categories != null)
|
||||
@@ -232,6 +230,11 @@ namespace NzbDrone.Core.Indexers
|
||||
settings.Categories = _newznabCapabilitiesProvider.GetCapabilities(settings)?.Categories.GetTorznabCategoryList() ?? null;
|
||||
}
|
||||
|
||||
if (definition.Implementation == typeof(Cardigann.Cardigann).Name)
|
||||
{
|
||||
MapCardigannDefinition(definition);
|
||||
}
|
||||
|
||||
return base.Create(definition);
|
||||
}
|
||||
|
||||
@@ -245,6 +248,11 @@ namespace NzbDrone.Core.Indexers
|
||||
settings.Categories = _newznabCapabilitiesProvider.GetCapabilities(settings)?.Categories.GetTorznabCategoryList() ?? null;
|
||||
}
|
||||
|
||||
if (definition.Implementation == typeof(Cardigann.Cardigann).Name)
|
||||
{
|
||||
MapCardigannDefinition(definition);
|
||||
}
|
||||
|
||||
base.Update(definition);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user