]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
Add support for `{% include ignore missing %}`
authorKevin <kevin@kevin-brown.com>
Tue, 12 May 2020 20:56:53 +0000 (16:56 -0400)
committerKevin <kevin@kevin-brown.com>
Tue, 12 May 2020 20:58:09 +0000 (16:58 -0400)
new_parser.py
test_template.jinja

index 0ed8ec7f6ff9915d1694a7d225f34ac7a363bcc4..b3dd8ac998a28c773cb7dcb15d8749415f378002 100644 (file)
@@ -254,6 +254,12 @@ def parse_block_include(ast):
     else:\r
         del block_parameters[-2:]\r
 \r
+    if len(block_parameters) == 3:\r
+        ignore_missing = True\r
+\r
+        if block_parameters[1]['value']['variable'] != 'ignore' and block_parameters[2]['value']['variable'] != 'missing':\r
+            raise\r
+\r
     return nodes.Include(\r
         template,\r
         with_context,\r
index 603e192074ce2f70e5f4a2c9dbcd1e04cd6135e0..399f898f8bfe614ba97bc3852255231ee987c22b 100644 (file)
@@ -73,4 +73,8 @@ across lines #}
 {{ foo not in bar }}\r
 {% from 'forms.html' import input with context %}\r
 {% include 'header.html' without context %}\r
-{% import 'forms.html' as forms %}
\ No newline at end of file
+{% import 'forms.html' as forms %}\r
+{% include ['special_sidebar.html', 'sidebar.html'] ignore missing %}\r
+{% include "sidebar.html" ignore missing %}\r
+{% include "sidebar.html" ignore missing with context %}\r
+{% include "sidebar.html" ignore missing without context %}
\ No newline at end of file