def render_source(self): """Render the sourcecode.""" lines = [Line(idx + 1, x) for idx, x in enumerate(self.sourcelines)] # find function definition and mark lines if hasattr(self.code, 'co_firstlineno'): lineno = self.code.co_firstlineno - 1 while lineno > 0: if _funcdef_re.match(lines[lineno].code): break lineno -= 1 try: offset = len( inspect.getblock([x.code + '\n' for x in lines[lineno:]])) except TokenError: offset = 0 for line in lines[lineno:lineno + offset]: line.in_frame = True # mark current line try: lines[self.lineno - 1].current = True except IndexError: pass return render_template('source.html', frame=self, lines=lines)
def dump_object(self, obj): repr = items = None if isinstance(obj, dict): title = 'Contents of' items = [] for key, value in obj.iteritems(): if not isinstance(key, basestring): items = None break items.append((key, self.repr(value))) if items is None: items = [] repr = self.repr(obj) for key in dir(obj): try: items.append((key, self.repr(getattr(obj, key)))) except: pass title = 'Details for' title += ' ' + object.__repr__(obj)[1:-1] return render_template('dump_object.html', items=items, title=title, repr=repr)
def render_source(self): """Render the sourcecode.""" lines = [Line(idx + 1, x) for idx, x in enumerate(self.sourcelines)] # find function definition and mark lines if hasattr(self.code, 'co_firstlineno'): lineno = self.code.co_firstlineno - 1 while lineno > 0: if _funcdef_re.match(lines[lineno].code): break lineno -= 1 try: offset = len(inspect.getblock([x.code + '\n' for x in lines[lineno:]])) except TokenError: offset = 0 for line in lines[lineno:lineno + offset]: line.in_frame = True # mark current line try: lines[self.lineno - 1].current = True except IndexError: pass return render_template('source.html', frame=self, lines=lines)
def get_help(self, topic): title = text = None if topic is not None: import pydoc pydoc.help(topic) rv = sys.stdout.reset().decode('utf-8', 'ignore') paragraphs = _paragraph_re.split(rv) if len(paragraphs) > 1: title = paragraphs[0] text = '\n\n'.join(paragraphs[1:]) else: title = 'Help' text = paragraphs[0] return render_template('help_command.html', title=title, text=text)
def __call__(self, topic=None): title = text = None if topic is not None: import pydoc pydoc.help(topic) rv = sys.stdout.reset().decode('utf-8', 'ignore') paragraphs = _paragraph_re.split(rv) if len(paragraphs) > 1: title = paragraphs[0] text = '\n\n'.join(paragraphs[1:]) else: # pragma: no cover title = 'Help' text = paragraphs[0] rv = render_template('help_command.html', title=title, text=text) sys.stdout._write(rv)
def render_source(self): lines = [Line(idx + 1, x) for idx, x in enumerate(self.sourcelines)] if hasattr(self.code, "co_firstlineno"): lineno = self.code.co_firstlineno - 1 while lineno > 0: if _funcdef_re.match(lines[lineno].code): break lineno -= 1 try: offset = len(inspect.getblock([x.code + "\n" for x in lines[lineno:]])) except TokenError: offset = 0 for line in lines[lineno : lineno + offset]: line.in_frame = True try: lines[self.lineno - 1].current = True except IndexError: pass return render_template("source.html", frame=self, lines=lines)
def dump_locals(self, d): items = [(key, self.repr(value)) for key, value in d.items()] return render_template('dump_object.html', items=items, title='Local variables in frame', repr=None)
def render_summary(self, include_title=True): return render_template("traceback_summary.html", traceback=self, include_title=include_title)
def render_full(self, evalex=False): return render_template("traceback_full.html", traceback=self, evalex=evalex)
def render(self): """Render a single frame in a traceback.""" return render_template('frame.html', frame=self)
def render(self): return render_template('frame.html', frame=self)
def render_full(self, evalex=False): """Render the Full HTML page with the traceback info.""" return render_template('traceback_full.html', traceback=self, evalex=evalex)
def display_console(self, request): if 0 not in self.frames: self.frames[0] = _ConsoleFrame(self.console_init_func()) return Response(render_template('console.html'), mimetype='text/html')
def render_full(self, evalex=False): """Render the Full HTML page with the traceback info.""" return render_template("traceback_full.html", traceback=self, evalex=evalex)
def render_full(self, evalex=False): return render_template('traceback_full.html', traceback=self, evalex=evalex)
def render_summary(self, include_title=True): return render_template('traceback_summary.html', traceback=self, include_title=include_title)
def render(self): return render_template("frame.html", frame=self)
def render_summary(self, include_title=True): """Render the traceback for the interactive console.""" return render_template('traceback_summary.html', traceback=self, include_title=include_title)
def plaintext(self): return render_template('traceback_plaintext.html', traceback=self)
def render_full(self, evalex=False, lodgeit_url=None): """Render the Full HTML page with the traceback info.""" return render_template('traceback_full.html', traceback=self, evalex=evalex)
def display_console(self, request): """Display a standalone shell.""" if 0 not in self.frames: self.frames[0] = _ConsoleFrame(self.console_init_func()) return Response(render_template("console.html"), mimetype="text/html")
def dump_locals(self, d): items = [ (key, self.repr(value)) for key, value in d.items() ] return render_template('dump_object.html', items=items, title='Local variables in frame', repr=None)