o 0¦infã@sH ddlZddlZddlZddlZgd¢Zd7dd„Zdd„Zd8dd„Zd7d d „Zd7d d „Z d Z dZ Gdd„dƒZ e ƒZ dd„Ze e dddfdd„Ze e ddfdd„Ze fdd„Zdd„Zdd„Zd9dd„Zd:d d!„Zd9d"d#„Zd;d$d%„Zd8d&d'„Zd8d(d)„Zd*d+„ZGd,d-„d-ƒZd.d/„Zd0d1„Zd2ZGd3d4„d4eƒZ Gd5d6„d6ƒZ!dS)<éN)Ú extract_stackÚ extract_tbÚformat_exceptionÚformat_exception_onlyÚ format_listÚ format_stackÚ format_tbÚ print_excÚ format_excÚprint_exceptionÚ print_lastÚ print_stackÚprint_tbÚ clear_framesÚ FrameSummaryÚ StackSummaryÚTracebackExceptionÚ walk_stackÚwalk_tbcCs6 |durtj}t |¡ ¡D] }t||dd�qdS)NÚ©ÚfileÚend)ÚsysÚstderrrÚ from_listÚformatÚprint)Úextracted_listrÚitem©r ú0/opt/alt/python310/lib64/python3.10/traceback.pyÚ print_lists ÿr"cCs t |¡ ¡S©N)rrr)rr r r!rs rcCs tt||d�|d�dS©N©Úlimit)r)r"r)Útbr&rr r r!r-srcCs t||d� ¡S©Nr%)rr©r'r&r r r!r7srcCs tjt|ƒ|d�Sr()rÚextractrr)r r r!r;s rzG The above exception was the direct cause of the following exception: zF During handling of the above exception, another exception occurred: c@seZdZdd„ZdS)Ú _SentinelcCódS)Nz r ©Úselfr r r!Ú__repr__Xóz_Sentinel.__repr__N)Ú__name__Ú __module__Ú __qualname__r/r r r r!r+Ws r+cCsT|tu|tukr tdƒ‚||urtur&n||fS|dur$||jfSdS||fS)Nz-Both or neither of value and tb must be given©NN)Ú _sentinelÚ ValueErrorÚ __traceback__)ÚexcÚvaluer'r r r!Ú_parse_value_tb]sü r:TcCsZ t|||ƒ\}}|durtj}tt|ƒ|||dd�}|j|d�D] }t||dd�q!dS)NT©r&Úcompact©Úchainrr)r:rrrÚtyperr)r8r9r'r&rr>ÚteÚliner r r!r hs ÿr cCs8 t|||ƒ\}}tt|ƒ|||dd�}t|j|d�ƒS)NTr;r=)r:rr?Úlistr)r8r9r'r&r>r@r r r!r|srcCs. |tur|}tt|ƒ|ddd�}t| ¡ƒS)NT)r<)r5rr?rBr)r8r9r@r r r!r‹s   rcCs0t|ƒ}|dus |sd|}|Sd||f}|S)Nz%s z%s: %s )Ú _some_str)Úetyper9ÚvaluestrrAr r r!Ú_format_final_exc_line¡s   ÿrFcCs$zt|ƒWSdt|ƒjYS)Nz)Ústrr?r1)r9r r r!rC©s rCcCs tt ¡|||dœŽdS)N©r&rr>)r rÚexc_inforHr r r!r ±ór cCs d tt ¡||dœŽ¡S)Nr©r&r>)ÚjoinrrrIrKr r r!r µrJr cCs0 ttdƒs tdƒ‚ttjtjtj|||ƒdS)NÚ last_typezno last exception)Úhasattrrr6r rMÚ last_valueÚlast_tracebackrHr r r!r ¹s  ÿr cCs, |dur t ¡j}tt||d�|d�dSr$)rÚ _getframeÚf_backr"r)Úfr&rr r r!r Ås r cCs$ |dur t ¡j}tt||d�ƒSr()rrQrRrr)rSr&r r r!rÑs rcCs2 |dur t ¡j}tjt|ƒ|d�}| ¡|Sr()rrQrRrr*rÚreverse)rSr&Ústackr r r!rØs  rcCsB |durz|j ¡Wn tyYnw|j}|dusdSdSr#)Útb_frameÚclearÚ RuntimeErrorÚtb_next©r'r r r!rès þúrc@sXeZdZ dZddddœdd„Zdd„Zd d „Zd d „Zd d„Zdd„Z e dd„ƒZ dS)r)ÚfilenameÚlinenoÚnameÚ_lineÚlocalsTN)Ú lookup_liner_rAcCsJ ||_||_||_||_|r|j|r dd„| ¡Dƒ|_dSd|_dS)NcSsi|] \}}|t|ƒ“qSr )Úrepr)Ú.0ÚkÚvr r r!Ú sz)FrameSummary.__init__..)r[r\r]r^rAÚitemsr_)r.r[r\r]r`r_rAr r r!Ú__init__s &zFrameSummary.__init__cCs`t|tƒr|j|jko|j|jko|j|jko|j|jkSt|tƒr.|j|j|j|jf|kStSr#) Ú isinstancerr[r\r]r_ÚtuplerAÚNotImplemented©r.Úotherr r r!Ú__eq__s   ÿ þ ý zFrameSummary.__eq__cCs|j|j|j|jf|Sr#)r[r\r]rA)r.Úposr r r!Ú __getitem__ ózFrameSummary.__getitem__cCst|j|j|j|jgƒSr#)Úiterr[r\r]rAr-r r r!Ú__iter__#rpzFrameSummary.__iter__cCsdj|j|j|jd�S)Nz7)r[r\r])rr[r\r]r-r r r!r/&s ÿzFrameSummary.__repr__cCr,)Nér r-r r r!Ú__len__*r0zFrameSummary.__len__cCs4|jdur|jdur dSt |j|j¡|_|j ¡Sr#)r^r\Ú linecacheÚgetliner[Ústripr-r r r!rA-s   zFrameSummary.line) r1r2r3Ú __slots__rgrmrorrr/rtÚpropertyrAr r r r!rós  ÿ rccsB� |dur t ¡jj}|dur||jfV|j}|dusdSdSr#)rrQrRÚf_lineno)rSr r r!r5s€  þrccs0� |dur|j|jfV|j}|dusdSdSr#)rVÚ tb_linenorYrZr r r!rBs €þréc@s8eZdZ eddddœdd„ƒZedd„ƒZd d „ZdS) rNTF©r&Ú lookup_linesÚcapture_localsc Csð |durttddƒ}|dur|dkrd}|dur,|dkr$t ||¡}ntj|| d�}|ƒ}tƒ}|D]-\}}|j} | j} | j } |  | ¡t   | |j ¡|rS|j} nd} | t| || d| d�¡q4|D]} t  | ¡qd|rv|D]}|jqp|S)NÚtracebacklimitr)ÚmaxlenF)r`r_)ÚgetattrrÚ itertoolsÚisliceÚ collectionsÚdequeÚsetÚf_codeÚ co_filenameÚco_nameÚaddruÚ lazycacheÚ f_globalsÚf_localsÚappendrÚ checkcacherA) ÚklassÚ frame_genr&r~rÚresultÚfnamesrSr\Úcor[r]rŽr r r!r*Rs:     ÿ zStackSummary.extractc CsN tƒ}|D]}t|tƒr| |¡q|\}}}}| t||||d�¡q|S)N)rA)rrhrr�)r‘Úa_listr“Úframer[r\r]rAr r r!r‚s   zStackSummary.from_listc Csf g}d}d}d}d}|D]‰}|dus*||jks*|dus*||jks*|dus*||jkrO|tkrD|t8}| d|›d|dkr>dnd›d�¡|j}|j}|j}d}|d7}|tkrXq g}| d |j|j|j¡¡|jru| d  |j ¡¡¡|jrŽt |j  ¡ƒD]\}} | d j|| d �¡q| d  |¡¡q |tkr±|t8}| d|›d|dkr«dnd›d�¡|S) Nrz [Previous line repeated z more timeéÚsrz] z File "{}", line {}, in {} ú {} z {name} = {value} )r]r9) r[r\r]Ú_RECURSIVE_CUTOFFr�rrArwr_ÚsortedrfrL) r.r“Ú last_fileÚ last_lineÚ last_nameÚcountr—Úrowr]r9r r r!r•sT ÿÿ ÿÿÿzStackSummary.format)r1r2r3Ú classmethodr*rrr r r r!rOsÿ/  rc@sfeZdZ ddddddœdd„Zedd„ƒZd d „Zd d „Zd d„Zdd„Z dd„Z ddœdd„Z dS)rNTF)r&r~rr<Ú_seenc Csî|du} |dur tƒ}| t|ƒ¡tjt|ƒ|||d�|_||_t|ƒ|_ |r]t |t ƒr]|j |_ |j } | durs ÿzTracebackException._load_linescCst|tƒr |j|jkStSr#)rhrÚ__dict__rjrkr r r!rmCs  zTracebackException.__eq__cCs|jSr#)r¦r-r r r!Ú__str__HszTracebackException.__str__ccs„� |jdurtd|jƒVdS|jj}|jj}|dvr)t|tƒs#d}|d|}t|jtƒs8t||jƒVdS|  |¡EdHdS)N)Ú__main__Úbuiltinsz Ú.) r¥rFr¦r3r2rhrGr§r¨Ú_format_syntax_error)r.ÚstypeÚsmodr r r!rKs€    z(TracebackException.format_exception_onlyc cs.� d}|jdurd |jpd|j¡Vn |jdur d |j¡}|j}|durˆ| d¡}| d¡}t|ƒt|ƒ}d |¡V|jdurˆ|j}|jdvrO|jn|}||ksY|d kr]|d }|d |} |d |} | d krˆd d „|d| …Dƒ} d d  | ¡d| | d¡V|j pŒd} d || |¡VdS)Nrz File "{}", line {} zz ({})Ú z rš>rNéÿÿÿÿr˜rcss �|] }| ¡r |ndVqdS)ú N)Úisspace)rbÚcr r r!Ú ‡s€z:TracebackException._format_syntax_error..z {}{}ú^zz {}: {}{} ) r\rr[rªÚrstripÚlstripÚlenr«r¬rLr­) r.rÇÚfilename_suffixrªÚrtextÚltextÚspacesr«r¬ÚcolnoÚ end_colnoÚ caretspacer­r r r!rÆhs6€  ÿ          z'TracebackException._format_syntax_errorr=ccsÆ� g}|}|r<|r1|jdurt}|j}n|jdur#|js#t}|j}nd}d}| ||f¡|}n | d|f¡d}|st|ƒD] \}}|durK|V|jrYdV|j ¡EdH|  ¡EdHq@dS)Nz#Traceback (most recent call last): ) r±Ú_cause_messager²r¯Ú_context_messager�ÚreversedrUrr)r.r>Úoutputr8Ú chained_msgÚ chained_excr­r r r!rŒs:€   ÿïúzTracebackException.format) r1r2r3rgr¢rÀr®rmrÂrrÆrr r r r!rÉs þP $rr#r4)NNT)NT)NNN)"r…rƒrurÚ__all__r"rrrrrÚrÛr+r5r:r rrrFrCr r r r rrrrrrr›rBrrr r r r!ÚsP   ÿÿ  ÿ ÿ      B  z