/usr/lib/python3.6/site-packages/jinja2/__pycache__
Edit: /usr/lib/python3.6/site-packages/jinja2/__pycache__/debug.cpython-36.pyc (9286B)
3
aG\
/ @ sD d Z ddlZddlZddlmZmZ ddlmZmZ ddl m
Z
ddlmZm
Z
mZ yddlmZ W n ek
r| dZY nX yed W n. ek
r d ZY n ek
r d
ZY nX G dd deZd
d ZG dd deZdddZdddZdddZdd Zdd Zdd ZdZ edkr@y
e Z W n Y nX [dS ) aQ
jinja2.debug
~~~~~~~~~~~~
Implements the debug interface for Jinja. This module does some pretty
ugly stuff with the Python traceback system in order to achieve tracebacks
with correct line numbers, locals and contents.
:copyright: (c) 2017 by the Jinja Team.
:license: BSD, see LICENSE for more details.
N)
TracebackTypeCodeType)missing
internal_code)TemplateSyntaxError) iteritemsreraisePY2)tproxyzraise TypeError, 'foo'zraise __jinja_exception__[1]z4raise __jinja_exception__[0], __jinja_exception__[1]c @ s@ e Zd ZdZdd Zedd Zdd Zedd Zd
d Z dS )
TracebackFrameProxyzProxies a traceback frame.c C s || _ d | _d S )N)tb_tb_next)selfr r /usr/lib/python3.6/debug.py__init__' s zTracebackFrameProxy.__init__c C s | j S )N)r
)r r r r tb_next+ s zTracebackFrameProxy.tb_nextc C sB t d k r8yt | j|r|jpd W n tk
r6 Y nX || _d S )N)tb_set_nextr Exceptionr
)r nextr r r set_next/ s zTracebackFrameProxy.set_nextc C s d| j jjkS )N__jinja_template__)r tb_frame f_globals)r r r r is_jinja_frame: s z"TracebackFrameProxy.is_jinja_framec C s t | j|S )N)getattrr )r namer r r __getattr__> s zTracebackFrameProxy.__getattr__N)
__name__
__module____qualname____doc__r propertyr r r r r r r r r $ s r c s* t | td kr S fdd}tt|S )Nc s@ | dkrt |d S | dkr, j|| nt | ||S d S )N__getattribute__r r __setattr__)r# r )r r$ )Z operationargskwargs)proxyr r operation_handlerF s
z+make_frame_proxy.
.operation_handler)r r
r )framer( r )r' r make_frame_proxyB s
r* c @ sP e Zd ZdZdd ZdddZddd Zed
d Zedd
Z edd Z
dS )ProcessedTracebackz?Holds a Jinja preprocessed traceback for printing or reraising.c C sV |st d|| _|| _|| _d }x$| jD ]}|d k r@|j| |}q*W |jd d S )Nzno frames for this traceback?)AssertionErrorexc_type exc_valueframesr )r r- r. r/ Zprev_tbr r r r r S s
zProcessedTraceback.__init__Nc C s* t j| j| j| jd |d}dj|j S )z#Return a string with the traceback.r )limit ) tracebackformat_exceptionr- r. r/ joinrstrip)r r0 linesr r r render_as_texta s z!ProcessedTraceback.render_as_textFc C s, ddl m} d|| |d| j jddf S )z