From cf8262bd479eb9ae62b3b97049d36a99beaa3187 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 11 May 2020 21:49:56 -0400 Subject: [PATCH] Support in/notin operator expressions in parser --- new_parser.py | 8 ++++---- test_template.jinja | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/new_parser.py b/new_parser.py index 8e13c1e4..f9b31071 100644 --- a/new_parser.py +++ b/new_parser.py @@ -294,8 +294,8 @@ def parse_conditional_expression(ast): if 'variable' in ast: return parse_variable(ast) - if 'comparator' in ast: - return parse_conditional_expression_comparator(ast) + if 'operator' in ast: + return parse_conditional_expression_operator(ast) if 'concatenate' in ast: return parse_concatenate_expression(ast) @@ -311,7 +311,7 @@ def parse_conditional_expression(ast): return None -def parse_conditional_expression_comparator(ast): +def parse_conditional_expression_operator(ast): operand_map = { '>': 'gt', '>=': 'gteq', @@ -325,7 +325,7 @@ def parse_conditional_expression_comparator(ast): parse_variable(ast['left']), [ nodes.Operand( - operand_map[ast['comparator']], + operand_map.get(ast['operator'], ast['operator']), parse_variable(ast['right']) ) ], diff --git a/test_template.jinja b/test_template.jinja index 4c7beea6..07b8dc9f 100644 --- a/test_template.jinja +++ b/test_template.jinja @@ -66,4 +66,5 @@ across lines #} {{ "[{}]".format(page.title) if page.title }} {% extends layout_template if layout_template is defined else 'master.html' %} -{{ "Hello " ~ name ~ "!" }} \ No newline at end of file +{{ "Hello " ~ name ~ "!" }} +{{ 1 in [1, 2, 3] }} \ No newline at end of file -- 2.47.3