]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
Add support for parsing dictionary literals
authorKevin <kevin@kevin-brown.com>
Tue, 12 May 2020 00:15:28 +0000 (20:15 -0400)
committerKevin <kevin@kevin-brown.com>
Tue, 12 May 2020 00:15:28 +0000 (20:15 -0400)
new_parser.py

index 825b9d1e0739a61f473f3c0cff84d26859f70b43..6edd0f7a7a2298293658008410ecb07d4dc31b21 100644 (file)
@@ -381,6 +381,20 @@ def parse_literal(ast):
             const,\r
             lineno=lineno_from_parseinfo(ast['parseinfo'])\r
         )\r
+    elif literal_type == 'dictionary':\r
+        items = [\r
+            nodes.Pair(\r
+                parse_literal(item['key']),\r
+                parse_variable(item['value']),\r
+                lineno=lineno_from_parseinfo(item['parseinfo'])\r
+            )\r
+            for item in ast['value']\r
+        ]\r
+\r
+        return nodes.Dict(\r
+            items,\r
+            lineno=lineno_from_parseinfo(ast['parseinfo'])\r
+        )\r
     elif literal_type == 'list':\r
         items = [\r
             parse_literal(item) for item in ast['value']\r