1
0
Fork 0
mirror of https://github.com/Jackett/Jackett synced 2024-12-26 09:48:37 +00:00

Cardigann: add join expression

This commit is contained in:
kaso17 2018-04-02 02:22:13 +02:00
parent 20d1813793
commit 2ad2e06754

View file

@ -251,6 +251,27 @@ namespace Jackett.Common.Indexers
ReReplaceRegexMatches = ReReplaceRegexMatches.NextMatch();
}
// handle join expression
// Example: {{ join .Categories "," }}
Regex JoinRegex = new Regex(@"{{\s*join\s+(\..+?)\s+""(.*?)""\s*}}");
var JoinMatches = JoinRegex.Match(template);
while (JoinMatches.Success)
{
string all = JoinMatches.Groups[0].Value;
string variable = JoinMatches.Groups[1].Value;
string delimiter = JoinMatches.Groups[2].Value;
var input = (ICollection<string>)variables[variable];
var expanded = string.Join(delimiter, input);
if (modifier != null)
expanded = modifier(expanded);
template = template.Replace(all, expanded);
JoinMatches = JoinMatches.NextMatch();
}
// handle if ... else ... expression
Regex IfElseRegex = new Regex(@"{{\s*if\s*(.+?)\s*}}(.*?){{\s*else\s*}}(.*?){{\s*end\s*}}");
var IfElseRegexMatches = IfElseRegex.Match(template);