Exemplo n.º 1
0
 def _do_test_traceback(self, utf8, memory, syntax):
     if memory:
         if syntax:
             source = u('## coding: utf-8\n<% print "m’a réveillé. '\
                     'Elle disait: « S’il vous plaît… dessine-moi un mouton! » %>')
         else:
             source = u('## coding: utf-8\n<% print u"m’a réveillé. '\
                     'Elle disait: « S’il vous plaît… dessine-moi un mouton! »" + str(5/0) %>')
         if utf8:
             source = source.encode('utf-8')
         else:
             source = source
         templateargs = {'text': source}
     else:
         if syntax:
             filename = 'unicode_syntax_error.html'
         else:
             filename = 'unicode_runtime_error.html'
         source = util.read_file(self._file_path(filename), 'rb')
         if not utf8:
             source = source.decode('utf-8')
         templateargs = {'filename': self._file_path(filename)}
     try:
         template = Template(**templateargs)
         if not syntax:
             template.render_unicode()
         assert False
     except Exception:
         tback = exceptions.RichTraceback()
         if utf8:
             assert tback.source == source.decode('utf-8')
         else:
             assert tback.source == source
Exemplo n.º 2
0
def render(buf, render_data, template_filename):
  """Using given template renders data into given buffer."""
  root_dir = os.path.dirname(os.path.dirname(__file__))
  lookup_dirs = [os.path.join(root_dir, 'templates')]
  template_lookup = lookup.TemplateLookup(directories=lookup_dirs)
  try:
    template = template_lookup.get_template(template_filename)
    template.render_context(runtime.Context(buf, **render_data._asdict()))
  except:
    traceback = exceptions.RichTraceback()
    for (filename, lineno, function, line) in traceback.traceback:
      print("File %s, line %s, in %s" % (filename, lineno, function))
      print(line, '\n')
    print('%s: %s' % (str(traceback.error.__class__.__name__), traceback.error))