First Config
This commit is contained in:
@@ -843,6 +843,33 @@ def _execute_custom_function(function_name, args, output_request):
|
||||
|
||||
return "undefined"
|
||||
|
||||
elif function_name == "concat":
|
||||
# Args: [separator, field_name_1, field_name_2, ..., field_name_n]
|
||||
# separator : string to insert between concatenated values
|
||||
# field_name_* : names of already-computed fields in output_request to concatenate
|
||||
# undefined/None values are silently skipped
|
||||
if not args or len(args) < 2:
|
||||
return "$$$$ Argument Error: concat requires at least 2 arguments (separator + 1 field)"
|
||||
|
||||
separator = args[0]
|
||||
if not isinstance(separator, str):
|
||||
return "$$$$ Argument Error: concat separator (arg1) must be a string"
|
||||
|
||||
field_names = args[1:]
|
||||
parts = []
|
||||
all_undefined = True
|
||||
|
||||
for field_name in field_names:
|
||||
value = get_value_from_request(output_request, field_name)
|
||||
if value is not None and value != "undefined":
|
||||
all_undefined = False
|
||||
parts.append(str(value))
|
||||
|
||||
if all_undefined:
|
||||
return "undefined"
|
||||
|
||||
return separator.join(parts)
|
||||
|
||||
return f"$$$$ Unknown Custom Function: {function_name}"
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user