]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
Use more _get_default_module calls
authorArmin Ronacher <armin.ronacher@active-4.com>
Wed, 28 Dec 2016 14:19:32 +0000 (15:19 +0100)
committerArmin Ronacher <armin.ronacher@active-4.com>
Wed, 28 Dec 2016 14:19:32 +0000 (15:19 +0100)
jinja2/compiler.py
jinja2/environment.py

index e2e682c4a5f84dc7af1daa3b61e148395ebbf2c7..1d9d5059abd0f2a8ae53dc68ed45f2a7e263dbad 100644 (file)
@@ -971,10 +971,11 @@ class CodeGenerator(NodeVisitor):
             self.writeline('else:')
             self.indent()
 
+        loop = self.environment._async and 'async for' or 'for'
         if node.with_context:
-            self.writeline('for event in template.root_render_func('
+            self.writeline('%s event in template.root_render_func('
                            'template.new_context(context.parent, True, '
-                           'locals())):')
+                           'locals())):' % loop)
         else:
             self.writeline('for event in template._get_default_module()'
                            '._body_stream:')
@@ -999,7 +1000,7 @@ class CodeGenerator(NodeVisitor):
         if node.with_context:
             self.write('make_module(context.parent, True, locals())')
         else:
-            self.write('module')
+            self.write('_get_default_module()')
         if frame.toplevel and not node.target.startswith('_'):
             self.writeline('context.exported_vars.discard(%r)' % node.target)
         frame.assigned_names.add(node.target)
@@ -1013,7 +1014,7 @@ class CodeGenerator(NodeVisitor):
         if node.with_context:
             self.write('make_module(context.parent, True)')
         else:
-            self.write('module')
+            self.write('_get_default_module()')
 
         var_names = []
         discarded_names = []
index c7dc642286b85a4871cbe55d2aab1ed7d6de136e..f91b01dcc83415ca1e6dc42383e3e59d57a8c6b5 100644 (file)
@@ -1097,7 +1097,9 @@ class TemplateModule(object):
         if body_stream is None:
             if context.environment._async:
                 raise RuntimeError('Async mode requires a body stream '
-                                   'to be passed in.')
+                                   'to be passed to a template module.  Use '
+                                   'the async methods of the API you are '
+                                   'using.')
             body_stream = list(template.root_render_func(context))
         self._body_stream = body_stream
         self.__dict__.update(context.get_exported())