Add all configuration item types to GetBaseTemplateVariables (#11332) resolves #11328

This commit is contained in:
XYZJR
2021-03-17 14:01:58 +01:00
committed by GitHub
parent 1056c22a21
commit b7341b20f4

View File

@@ -229,17 +229,65 @@ namespace Jackett.Common.Indexers
[".False"] = null, [".False"] = null,
[".Today.Year"] = DateTime.Today.Year.ToString() [".Today.Year"] = DateTime.Today.Year.ToString()
}; };
foreach (var setting in Definition.Settings) foreach (var setting in Definition.Settings)
variables[".Config." + setting.Name] = configData.GetDynamic(setting.Name) switch {
var configurationItem = configData.GetDynamic(setting.Name);
if (configurationItem == null)
continue;
var variableKey = ".Config." + setting.Name;
switch (configurationItem)
{ {
MultiSelectConfigurationItem checkbox => checkbox.Values, case BoolConfigurationItem boolItem:
BoolConfigurationItem boolItem => variables[boolItem.Value ? ".True" : ".False"], {
SingleSelectConfigurationItem selectItem => selectItem.Value, variables[variableKey] = variables[boolItem.Value ? ".True" : ".False"];
StringConfigurationItem stringItem => stringItem.Value, break;
// Throw exception here to match original functionality. }
// Currently this will only throw for ImageItem. case StringConfigurationItem stringItem:
_ => throw new NotSupportedException() {
}; variables[variableKey] = stringItem.Value;
break;
}
case PasswordConfigurationItem passwordItem:
{
variables[variableKey] = passwordItem.Value;
break;
}
case SingleSelectConfigurationItem selectItem:
{
variables[variableKey] = selectItem.Value;
break;
}
case MultiSelectConfigurationItem multiSelectItem:
{
variables[variableKey] = multiSelectItem.Values;
break;
}
case DisplayImageConfigurationItem displayImageItem:
{
variables[variableKey] = displayImageItem.Value;
break;
}
case DisplayInfoConfigurationItem displayInfoItem:
{
variables[variableKey] = displayInfoItem.Value;
break;
}
case HiddenStringConfigurationItem hiddenStringItem:
{
variables[variableKey] = hiddenStringItem.Value;
break;
}
default:
{
//TODO Should this throw a NotSupportedException, as it used to?
break;
}
}
}
return variables; return variables;
} }