in scripts/validate.py [0:0]
def validate_item_targeting(item, for_exp=False):
if "targeting" not in item and "filter_expression" not in item:
return
indentation = "\t" if for_exp else ""
print("{}Validate targeting {}".format(indentation, item["id"]))
for key in ["targeting", "filter_expression"]:
jexl_expression = item.get(key)
if jexl_expression is None:
continue
try:
result = list(EVALUATOR.validate(jexl_expression))
if len(result) > 0:
raise SyntaxError(result[0])
except SyntaxError as e:
print(e)
sys.exit(1)