MCPcopy Index your code
hub / github.com/nodejs/node / visit_Include

Method visit_Include

tools/inspector_protocol/jinja2/compiler.py:890–942  ·  view source on GitHub ↗

Handles includes.

(self, node, frame)

Source from the content-addressed store, hash-verified

888 self.extends_so_far += 1
889
890 def visit_Include(self, node, frame):
891 """Handles includes."""
892 if node.ignore_missing:
893 self.writeline('try:')
894 self.indent()
895
896 func_name = 'get_or_select_template'
897 if isinstance(node.template, nodes.Const):
898 if isinstance(node.template.value, string_types):
899 func_name = 'get_template'
900 elif isinstance(node.template.value, (tuple, list)):
901 func_name = 'select_template'
902 elif isinstance(node.template, (nodes.Tuple, nodes.List)):
903 func_name = 'select_template'
904
905 self.writeline('template = environment.%s(' % func_name, node)
906 self.visit(node.template, frame)
907 self.write(', %r)' % self.name)
908 if node.ignore_missing:
909 self.outdent()
910 self.writeline('except TemplateNotFound:')
911 self.indent()
912 self.writeline('pass')
913 self.outdent()
914 self.writeline('else:')
915 self.indent()
916
917 skip_event_yield = False
918 if node.with_context:
919 loop = self.environment.is_async and 'async for' or 'for'
920 self.writeline('%s event in template.root_render_func('
921 'template.new_context(context.get_all(), True, '
922 '%s)):' % (loop, self.dump_local_context(frame)))
923 elif self.environment.is_async:
924 self.writeline('for event in (await '
925 'template._get_default_module_async())'
926 '._body_stream:')
927 else:
928 if supports_yield_from:
929 self.writeline('yield from template._get_default_module()'
930 '._body_stream')
931 skip_event_yield = True
932 else:
933 self.writeline('for event in template._get_default_module()'
934 '._body_stream:')
935
936 if not skip_event_yield:
937 self.indent()
938 self.simple_write('event', frame)
939 self.outdent()
940
941 if node.ignore_missing:
942 self.outdent()
943
944 def visit_Import(self, node, frame):
945 """Visit regular imports."""

Callers

nothing calls this directly

Calls 7

writelineMethod · 0.95
indentMethod · 0.95
writeMethod · 0.95
outdentMethod · 0.95
dump_local_contextMethod · 0.95
simple_writeMethod · 0.95
visitMethod · 0.45

Tested by

no test coverage detected