]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
Support in/notin operator expressions in parser
authorKevin <kevin@kevin-brown.com>
Tue, 12 May 2020 01:49:56 +0000 (21:49 -0400)
committerKevin <kevin@kevin-brown.com>
Tue, 12 May 2020 01:50:51 +0000 (21:50 -0400)
new_parser.py
test_template.jinja

index 8e13c1e44dab7442f116f3896bedeaf1b7d97a4f..f9b3107110c4c828914a63764c42bf6471f325b2 100644 (file)
@@ -294,8 +294,8 @@ def parse_conditional_expression(ast):
     if 'variable' in ast:\r
         return parse_variable(ast)\r
 \r
-    if 'comparator' in ast:\r
-        return parse_conditional_expression_comparator(ast)\r
+    if 'operator' in ast:\r
+        return parse_conditional_expression_operator(ast)\r
 \r
     if 'concatenate' in ast:\r
         return parse_concatenate_expression(ast)\r
@@ -311,7 +311,7 @@ def parse_conditional_expression(ast):
 \r
     return None\r
 \r
-def parse_conditional_expression_comparator(ast):\r
+def parse_conditional_expression_operator(ast):\r
     operand_map = {\r
         '>': 'gt',\r
         '>=': 'gteq',\r
@@ -325,7 +325,7 @@ def parse_conditional_expression_comparator(ast):
         parse_variable(ast['left']),\r
         [\r
             nodes.Operand(\r
-                operand_map[ast['comparator']],\r
+                operand_map.get(ast['operator'], ast['operator']),\r
                 parse_variable(ast['right'])\r
             )\r
         ],\r
index 4c7beea6b5c07b2f5cd5cc25c650e07252184abd..07b8dc9f97f60b96b4c7dfe74bae993e296ed597 100644 (file)
@@ -66,4 +66,5 @@ across lines #}
 </ul>\r
 {{ "[{}]".format(page.title) if page.title }}\r
 {% extends layout_template if layout_template is defined else 'master.html' %}\r
-{{ "Hello " ~ name ~ "!" }}
\ No newline at end of file
+{{ "Hello " ~ name ~ "!" }}\r
+{{ 1 in [1, 2, 3] }}
\ No newline at end of file