uawdijnntqw1x1x1
IP : 18.216.26.192
Hostname : ns1.eurodns.top
Kernel : Linux ns1.eurodns.top 4.18.0-553.5.1.lve.1.el7h.x86_64 #1 SMP Fri Jun 14 14:24:52 UTC 2024 x86_64
Disable Function : mail,sendmail,exec,passthru,shell_exec,system,popen,curl_multi_exec,show_source,eval,open_base
OS : Linux
PATH:
/
home
/
..
/
lib
/
python2.7
/
site-packages
/
rhn
/
..
/
jinja2
/
debug.pyc
/
/
� ��Rc@sxdZddlZddlZddlmZddlmZmZddlm Z ddl mZmZm Z yddlmZWnek r�dZnXyddUWn-ek r�d Znek r�d ZnXdefd��YZd �Zdefd��YZdd�Zdd�Zdd�Zd�Zd�ZdZedkrty e�ZWnnX[ndS(sQ 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) 2010 by the Jinja Team. :license: BSD, see LICENSE for more details. i����N(t TracebackType(tmissingt internal_code(tTemplateSyntaxError(t iteritemstreraiset code_type(ttproxysraise TypeError, 'foo'sraise __jinja_exception__[1]s4raise __jinja_exception__[0], __jinja_exception__[1]tTracebackFrameProxycBsGeZdZd�Zed��Zd�Zed��Zd�ZRS(sProxies a traceback frame.cCs||_d|_dS(N(ttbtNonet_tb_next(tselfR ((s0/usr/lib/python2.7/site-packages/jinja2/debug.pyt__init__'s cCs|jS(N(R(R((s0/usr/lib/python2.7/site-packages/jinja2/debug.pyttb_next+scCsStdk rFy#t|j|r'|jp*d�WqFtk rBqFXn||_dS(N(ttb_set_nextR R t ExceptionR(Rtnext((s0/usr/lib/python2.7/site-packages/jinja2/debug.pytset_next/s# cCsd|jjjkS(Nt__jinja_template__(R ttb_framet f_globals(R((s0/usr/lib/python2.7/site-packages/jinja2/debug.pytis_jinja_frame:scCst|j|�S(N(tgetattrR (Rtname((s0/usr/lib/python2.7/site-packages/jinja2/debug.pyt__getattr__>s( t__name__t __module__t__doc__R tpropertyRRRR(((s0/usr/lib/python2.7/site-packages/jinja2/debug.pyR$s cs8t|��tdkr�S�fd�}tt|�S(NcsV|dkrt�|d�S|dkr<�j||�nt�|�||�SdS(Nt__getattribute__Rit__setattr__(s__getattribute__s__getattr__(RR(t operationtargstkwargs(tproxy(s0/usr/lib/python2.7/site-packages/jinja2/debug.pytoperation_handlerFs (RRR R(tframeR$((R#s0/usr/lib/python2.7/site-packages/jinja2/debug.pytmake_frame_proxyBs tProcessedTracebackcBs\eZdZd�Zdd�Zed�Zed��Z ed��Z ed��ZRS(s?Holds a Jinja preprocessed traceback for printing or reraising.cCsz|std��||_||_||_d}x3|jD](}|dk r_|j|�n|}q=W|jd�dS(Nsno frames for this traceback?(tAssertionErrortexc_typet exc_valuetframesR R(RR)R*R+tprev_tbR ((s0/usr/lib/python2.7/site-packages/jinja2/debug.pyR Ss cCs;tj|j|j|jdd|�}dj|�j�S(s#Return a string with the traceback.itlimitt(t tracebacktformat_exceptionR)R*R+tjointrstrip(RR-tlines((s0/usr/lib/python2.7/site-packages/jinja2/debug.pytrender_as_textascCs<ddlm}d||d|�|j�jdd�fS(s<Return a unicode string with the traceback as rendered HTML.i����(trender_tracebacku%s <!-- %s -->tfullsutf-8treplace(tjinja2.debugrendererR5R4tdecode(RR6R5((s0/usr/lib/python2.7/site-packages/jinja2/debug.pytrender_as_htmlgscCst|jt�S(s*`True` if this is a template syntax error.(t isinstanceR*R(R((s0/usr/lib/python2.7/site-packages/jinja2/debug.pytis_template_syntax_erroroscCs|j|j|jdfS(s;Exception info tuple with a proxy around the frame objects.i(R)R*R+(R((s0/usr/lib/python2.7/site-packages/jinja2/debug.pytexc_infotscCs>|jd}t|�tk r+|j}n|j|j|fS(s'Standard python exc_info for re-raisingi(R+ttypeRR R)R*(RR ((s0/usr/lib/python2.7/site-packages/jinja2/debug.pytstandard_exc_infoys N(RRRR R R4tFalseR:RR<R=R?(((s0/usr/lib/python2.7/site-packages/jinja2/debug.pyR'Ps cCsI|\}}}t|t�r6t||�}d}nd}t||�S(s7Creates a processed traceback object from the exc_info.ii(R;Rttranslate_syntax_errorttranslate_exception(R=tsource_hintR)R*R tinitial_skip((s0/usr/lib/python2.7/site-packages/jinja2/debug.pytmake_traceback�s cCsU||_t|_|j|df}|j}|dkrBd}nt|||j�S(s4Rewrites a syntax error to please traceback systems.s <unknown>N(tsourcetTruet translatedt __class__R tfilenamet fake_exc_infotlineno(terrorRFR=RJ((s0/usr/lib/python2.7/site-packages/jinja2/debug.pyRA�s ic Cs2|d}g}x,t|�D]}|dk r|j}qqW|}x�|dk r�|jjtkru|j}qHn|j}|jjjd�}|dk r�|j|j �}t |d |f|j|�d}n|jt |��|}qHW|st|d|d|d�nt|d|d|�S(s�If passed an exc_info it will automatically rewrite the exceptions all the way down to the correct line numbers and frames. iRiiN(trangeR RRtf_codeRRtgettget_corresponding_linenot tb_linenoRKRJtappendR&RR'( R=RDR R+txt initial_tbRttemplateRL((s0/usr/lib/python2.7/site-packages/jinja2/debug.pyRB�s* cBs�|\}}}|dk r�|jjj�}|jd�}|rQ|j�}ni}xFe|�D]8\} } | jd�rd| ek rd| || d<qdqdW|j dd�ni}i|d6|d6|d d6dd6}e d|d e|d �}y�|dkrd} nJ|jjj }|dkr9d } n&|jd�rYd|d} nd} ed|j|j|j|j|j|j|j|| |j|jdd�}WnnXy|||fdUWn ej�}|dj}nX|d |fS(s!Helper for `translate_exception`.tcontexttl_it__jinja_exception__Rt__file__Rs itexecRVtrootstop-level template codetblock_s block "%s"iiN(((R Rtf_localstcopyRPtget_allRt startswithRtpoptcompiletraise_helperROtco_nameRt co_nlocalstco_stacksizetco_flagstco_codet co_conststco_namestco_varnamestco_firstlinenot co_lnotabtsysR=R(R=RJRLR)R*R treal_localstctxtlocalsRtvaluetglobalstcodetlocationtfunctiontnew_tb((s0/usr/lib/python2.7/site-packages/jinja2/debug.pyRK�sP csgddl�ddlm�t�jd�r:�j}n �j}d�jfd��Y}d|fd�j|�fg|_ tt d �r�d�jfd ��Y}d�j|�fd�j|�fd|fd�j|�fg|_ nd |fd��Y�d�j��fd�j|�fd�jfd�jfg�_ ���fd�}|S(s�This function implements a few ugly things so that we can patch the traceback objects. The function returned allows resetting `tb_next` on any python traceback object. Do not attempt to use this on non cpython interpreters i����N(RtPy_InitModule4_64t _PyObjectcBseZRS((RR(((s0/usr/lib/python2.7/site-packages/jinja2/debug.pyRzst ob_refcnttob_typet getobjectscBseZRS((RR(((s0/usr/lib/python2.7/site-packages/jinja2/debug.pyRz$st_ob_nextt_ob_prevt _TracebackcBseZRS((RR(((s0/usr/lib/python2.7/site-packages/jinja2/debug.pyR�-sRRttb_lastiRRcs�t|��o'|dkp't|��s9td��n�jt|��}|jdk r��jt|j��}|jd8_n|dkr��j���|_n6�jt|��}|jd7_�j|�|_dS(s0Set the tb_next attribute of a traceback object.s/tb_set_next arguments must be traceback objectsiN( R;R t TypeErrortfrom_addresstidRR{tPOINTERtpointer(R Rtobjtold(RR�tctypes(s0/usr/lib/python2.7/site-packages/jinja2/debug.pyR6s(R�ttypesRthasattrt pythonapitc_int64tc_intt StructureR�t_fields_Ro(t_Py_ssize_tRzR((RR�R�s0/usr/lib/python2.7/site-packages/jinja2/debug.pyt_init_ugly_craps* (RRoR/R�Rtjinja2.utilsRRtjinja2.exceptionsRtjinja2._compatRRRt__pypy__RtImportErrorR tSyntaxErrorRdR�tobjectRR&R'RERARBRKR�R(((s0/usr/lib/python2.7/site-packages/jinja2/debug.pyt<module>s> 4, E @
/home/../lib/python2.7/site-packages/rhn/../jinja2/debug.pyc