3 \8H @sddlZdddddddd gZd:d dZd;d dZd d ZddZeZddZeZddZ de dddfddZ e ddfddZ ddZ ddZGdddeZddZdd Zd!d"Zd#d$Zd%d&Zd'd(ZdNwarn warn_explicit showwarning formatwarningfilterwarnings simplefilter resetwarningscatch_warningscCst||||||}t|dS)N)WarningMessage_showwarnmsg_impl)messagecategoryfilenamelinenofilelinemsgr /usr/lib64/python3.6/warnings.pyr scCst||||d|}t|S)N)r _formatwarnmsg_impl)r r rrrrrrrrsc CsP|j}|dkr tj}|dkr dSt|}y|j|Wntk rJYnXdS)N)rsysstderr_formatwarnmsgwriteOSError)rrtextrrrr sr cCsLd|j|j|jj|jf}|jdkr`yddl}|j|j|j}Wqftk r\d}d}YqfXn|j}|r~|j }|d|7}|j dk rHyddl }|j |j }Wntk rd}YnX|dk rH|d7}xx|D]p}|d|j|jf7}y$|dk r |j|j|j}nd}Wntk r*d}YnX|r|j }|d|7}qW|S)Nz%s:%s: %s: %s rz %s z.Object allocated at (most recent call first): z File "%s", lineno %s z %s ) rrr __name__r r linecachegetline Exceptionstripsource tracemallocget_object_traceback)rsrrr"tbframerrrr#sF          rcCsdyt}Wntk rYnsz_setoption..$zinvalid lineno %r) r1splitlenr=r0 _getactionescape _getcategoryintr9 OverflowErrorr)rCr1partsr5r r r6rrrrr@s.    r@cCsB|sdS|dkrdSxd D]}|j|r|SqWtd|fdS) Ndefaultallalwaysignorer6onceerrorzinvalid action: %r)rRrTrUr6rVrW) startswithr=)r5arrrrLs  rLcCsddl}|stS|jd|rNy t|}Wqtk rJtd|fYqXn|jd}|d|}||dd}yt|dd|g}Wn"tk rtd|fYnXyt ||}Wn"t k rtd|fYnXt |tstd|f|S)Nrz^[a-zA-Z0-9_]+$zunknown warning category: %r.zinvalid module name: %rzinvalid warning category: %r) r1Warningmatchevalr'r=rfind __import__ ImportErrorgetattrAttributeError issubclass)r r1catir6klassmrrrrNs,     rNcCs|jj}d|kod|kS)N importlib _bootstrap)f_code co_filename)r&rrrr_is_internal_framesrmcCs&|j}x|dk r t|r |j}qW|S)N)f_backrm)r&rrr_next_external_frames ror[c Csvt|tr|j}|dkrt}t|to.t|tsDtdjt|jyZ|dks\t t j drht j |}n4t j d}x(t |dD]}t |}|dkrtqWWntk rt j}d}YnX|j}|j}d|kr|d}nd}|jd} | r| j} | jdrP| dd } n>|dkrFyt jd} Wntk rDd} YnX| sP|} |jd i} t||| ||| ||dS) Nz/category must be a Warning subclass, not '{:s}'r[rz__file__z.pyc__main__rZ__warningregistry__) isinstancer\ __class__ UserWarningtyperdr*formatrrmr _getframerangeror9__dict__ f_globalsf_linenogetlowerendswithargvrc setdefaultr) r r stacklevelr!r&xglobalsrr6rZfnlregistryrrrr sL           cCst|}|dkr8|pd}|ddjdkr8|dd}|dkrDi}|jddtkrd|jt|d<t|tr~t|}|j}n |}||}|||f} |j| rdSx^t D]R} | \} } } }}| dks| j |rt || r|dks|j |r|dks||krPqWt } | dkrd|| <dSddl }|j||| dkr:|| d krnd|| <||f}tj|rddSdt|<nf| d krznZ| d krd|| <||df}|j|rdSd||<n$| d krd|| <ntd | | ft|||||} t| dS)Nz z.pyversionrrUr[rWrVrTr6rRz1Unrecognized action (%r) in warnings.filters: %sr)rOr~r}_filters_versionclearrsr\strrtr7r]rd defaultactionrgetlines onceregistry RuntimeErrorr r,)r r rrr6rmodule_globalsr!rkeyr<r5rremodlnrZoncekeyZaltkeyrrrrAsl                    c@s"eZdZd Zdd d Zd d ZdS)r r r rrrrr!Nc Cs:t}x|jD]} t|| || qW|r0|jnd|_dS)N)locals_WARNING_DETAILSsetattrr_category_name) selfr r rrrrr! local_valuesattrrrr__init__s zWarningMessage.__init__cCsd|j|j|j|j|jfS)NzD{message : %r, category : %r, filename : %r, lineno : %s, line : %r})r rrrr)rrrr__str__szWarningMessage.__str__)r r rrrrr!)NNN)rr>r?rrrrrrrr s  r c@s4eZdZdddddZddZdd Zd d ZdS) r FN)recordr6cCs(||_|dkrtjdn||_d|_dS)NwarningsF)_recordrmodules_module_entered)rrr6rrrrszcatch_warnings.__init__cCsPg}|jr|jd|jtjdk r4|jd|jt|j}d|dj|fS)Nz record=Truerz module=%rz%s(%s)z, )rr0rrrrvrjoin)rrBnamerrr__repr__s  zcatch_warnings.__repr__cCs~|jrtd|d|_|jj|_|jdd|j_|jj|jj|_|jj|_|j rvg}|j |j_|jj |j_|SdSdS)NzCannot enter %r twiceT) rrrr7_filtersr;r _showwarningr rr0r()rlogrrr __enter__s       zcatch_warnings.__enter__cGs>|jstd||j|j_|jj|j|j_|j|j_dS)Nz%Cannot exit %r without entering first) rrrrr7r;rrr )rexc_inforrr__exit__s     zcatch_warnings.__exit__)rr>r?rrrrrrrrr s  )r7_defaultaction _onceregistryrrr;TrRcCs td7adS)Nr[)rrrrrr;sr;rU)r rW)r r0gettotalrefcountrT)NN)N)Nr[N)NNNN)4r__all__rrr rr(r,r-rr\rrr2rrr=rDr@rLrNrmrorrobjectr r Z_warnings_defaults _warningsr7rrr;rrrar warnoptions ImportWarningPendingDeprecationWarningZsilencer0DeprecationWarningclsflags bytes_warningZ bytes_action BytesWarninghasattrZresource_actionResourceWarningrrrrst  0    5 FJ