a DOgT`@sddlZddlZddlZddlZgdZd3ddZddZd4ddZd5d d Zd6d d Z d Z dZ d7ddZ d8ddZ ddZddZddZd9ddZd:ddZd;ddZdd$d%Zd&d'ZGd(d)d)Zd*d+Zd,d-Zd.ZGd/d0d0eZGd1d2d2ZdS)?N) extract_stack extract_tbformat_exceptionformat_exception_only format_list format_stack format_tb print_exc format_excprint_exception print_last print_stackprint_tb clear_frames FrameSummary StackSummaryTracebackException walk_stackwalk_tbcCs4|durtj}t|D]}t||ddqdS)Nfileend)sysstderrr from_listformatprint)extracted_listritemr ./opt/alt/python39/lib64/python3.9/traceback.py print_listsr"cCst|SN)rrr)rr r r!rs rcCstt||d|ddSNlimit)r)r"r)tbr&rr r r!r-srcCst||dSNr%)rrr'r&r r r!r7srcCstjt||dSr()rextractrr)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: TcCsB|durtj}tt||||dj|dD]}t||ddq*dS)Nr%chainrr)rrrtyperr)etypevaluer'r&rr,liner r r!r Ws  r cCs ttt||||dj|dS)Nr%r+)listrr-r)r.r/r'r&r,r r r!rls  rcCstt||dSr#)r1rr)r.r/r r r!r|srcCs.t|}|dus|sd|}n d||f}|S)Nz%s z%s: %s ) _some_str)r.r/valuestrr0r r r!_format_final_exc_lines    r4cCs*z t|WSdt|jYS0dS)Nz)strr-__name__)r/r r r!r2s r2cCstt|||ddS)Nr&rr,)r rexc_infor7r r r!r sr cCsdtt||dS)Nrr&r,)joinrrr8r9r r r!r sr cCs.ttdstdttjtjtj|||dS)N last_typezno last exception)hasattrr ValueErrorr r; last_valuelast_tracebackr7r r r!r s  r cCs*|durtj}tt||d|ddSr$)r _getframef_backr"r)fr&rr r r!r s r cCs"|durtj}tt||dSr()rr@rArr)rBr&r r r!rs rcCs0|durtj}tjt||d}||Sr()rr@rArr*rreverse)rBr&stackr r r!rs  rcCs6|dur2z|jWnty(Yn0|j}qdSr#)tb_frameclear RuntimeErrortb_nextr'r r r!rs  rc@sVeZdZdZddddddZddZd d Zd d Zd dZddZ e ddZ dS)r)filenamelinenoname_linelocalsTN) lookup_linerNr0cCsB||_||_||_||_|r"|j|r8dd|Dnd|_dS)NcSsi|]\}}|t|qSr )repr).0kvr r r! z)FrameSummary.__init__..)rJrKrLrMr0itemsrN)selfrJrKrLrOrNr0r r r!__init__s zFrameSummary.__init__cCs`t|tr:|j|jko8|j|jko8|j|jko8|j|jkSt|tr\|j|j|j|jf|kStSr#) isinstancerrJrKrLrNtupler0NotImplementedrWotherr r r!__eq__s      zFrameSummary.__eq__cCs|j|j|j|jf|Sr#)rJrKrLr0)rWposr r r! __getitem__szFrameSummary.__getitem__cCst|j|j|j|jgSr#)iterrJrKrLr0rWr r r!__iter__szFrameSummary.__iter__cCsdj|j|j|jdS)Nz7)rJrKrL)rrJrKrLrbr r r!__repr__s zFrameSummary.__repr__cCsdS)Nr rbr r r!__len__szFrameSummary.__len__cCs&|jdur t|j|j|_|jSr#)rM linecachegetlinerJrKstriprbr r r!r0s zFrameSummary.line) r6 __module__ __qualname__ __slots__rXr^r`rcrdrfpropertyr0r r r r!rs  rccs4|durtjj}|dur0||jfV|j}qdSr#)rr@rAf_lineno)rBr r r!r$s   rccs"|dur|j|jfV|j}qdSr#)rE tb_linenorHrIr r r!r1src@s6eZdZeddddddZeddZd d ZdS) rNTFr& lookup_linescapture_localsc Cs|dur(ttdd}|dur(|dkr(d}|durV|dkrFt||}ntj|| d}|}t}|D]Z\}}|j} | j} | j } | | t | |j |r|j} nd} |t| || d| dqf|D]} t | q|r|D] }|jq|S)Ntracebacklimitr)maxlenF)rOrN)getattrr itertoolsislice collectionsdequesetf_code co_filenameco_nameaddrg lazycache f_globalsf_localsappendr checkcacher0) klass frame_genr&rrrsresultfnamesrBrKcorJrLrr r r!r*As8     zStackSummary.extractc CsLt}|D]<}t|tr$||q |\}}}}|t||||dq |S)N)r0)rrYrr)ra_listrframerJrKrLr0r r r!rqs    zStackSummary.from_listc Csng}d}d}d}d}|D]}|dusT||jksT|dusT||jksT|dusT||jkr|tkr|t8}|d|d|dkr|dndd|j}|j}|j}d}|d7}|tkrqg}|d|j|j|j|jr|d |j|jr t |j D]\}} |d j|| d q|d |q|tkrj|t8}|d|d|dkr^dndd|S) Nrz [Previous line repeated z more timesrz] z File "{}", line {}, in {}  {} z {name} = {value} )rLr/) rJrKrL_RECURSIVE_CUTOFFrrr0rirNsortedrVr:) rWr last_file last_line last_namecountrrowrLr/r r r!rs^    zStackSummary.format)r6rjrk classmethodr*rrr r r r!r>s/ rc@sbeZdZdddddddZeddZd d Zd d Zd dZddZ ddZ ddddZ dS)rNTFr&rrrs_seenc Csv|durt}|t|d|_z|rd|jdurdt|j|vrdtt|j|j|jj|d||d}nd}|r|jdurt|j|vrtt|j|j|jj|d||d} nd} Wn t yd|_d}d} Yn0||_| |_|r|j nd|_ t j t ||||d|_||_t||_|rdt|trd|j|_|j} | durFt| nd|_|j|_|j|_|j|_|rr|dS)NFrTrq)r{rid _truncated __cause__rr- __traceback__ __context__RecursionError__suppress_context__rr*rrDexc_typer2_str issubclass SyntaxErrorrJrKr5textoffsetmsg _load_lines) rWr exc_value exc_tracebackr&rrrsrcausecontextlnor r r!rXsl         zTracebackException.__init__cOs |t|||jg|Ri|Sr#)r-r)clsexcargskwargsr r r!from_exceptionsz!TracebackException.from_exceptioncCs6|jD] }|jq|jr"|j|jr2|jdSr#)rDr0rrr)rWrr r r!rs   zTracebackException._load_linescCst|tr|j|jkStSr#)rYr__dict__r[r\r r r!r^%s  zTracebackException.__eq__cCs|jSr#)rrbr r r!__str__*szTracebackException.__str__ccs~|jdurtd|jVdS|jj}|jj}|dvrNt|tsBd}|d|}t|jtsjt||jVn| |EdHdS)N)__main__builtinsz .) rr4rrkrjrYr5rr_format_syntax_error)rWstypesmodr r r!r-s    z(TracebackException.format_exception_onlyc csd}|jdur&d|jpd|jVn|jdurz ({}) z rrrcss|]}|r|ndVqdS) N)isspace)rQcr r r! arUz:TracebackException._format_syntax_error..z {}^ zz {}: {}{} ) rKrrJrrstriplstriplenrr:r) rWrfilename_suffixrrtextltextspacescaret caretspacerr r r!rJs&        z'TracebackException._format_syntax_errorr+ccs|r`|jdur*|jj|dEdHtVn*|jdurT|jsT|jj|dEdHtV|jr`dV|jr|dV|jEdH|EdHdS)Nr+zXChained exceptions have been truncated to avoid stack overflow in traceback formatting: z#Traceback (most recent call last): ) rr_cause_messagerr_context_messagerrDr)rWr,r r r!rfs   zTracebackException.format) r6rjrkrXrrrr^rrrrr r r r!rs C  r)N)NN)N)N)NNT)NT)NNT)NT)NNT)NNN)NN)NN)ryrwrgr__all__r"rrrrrrr rrr4r2r r r r rrrrrrrr1rrr r r r!s>          A  z