o ?OgL@sdZddlZgdZd=ddZd>ddZdd Zd d ZeZd d ZeZ ddZ de dddfddZ e ddfddZ ddZddZGdddeZddZddZd d!Zd"d#Zd$d%Zd&d'Zd?d)d*Z  d@d+d,ZGd-d.d.eZGd/d0d0eZd1d2Zzdd3lmZm Z m!Z!mZmZm"Z"e Z#e!Z$d4Z%Wne&ygZd5Z#iZ$d(a'd6d7Z"dZ%Ynweej(e%se)ed8se d5e*d9d(d:e d;e*d(d<e d;e+d(d<e d;e,d(d<e d;e-d(d<[%dS)Az&Python part of the warnings subsystem.N)warn warn_explicit showwarning formatwarningfilterwarnings simplefilter resetwarningscatch_warningscCst||||||}t|dS)7Hook to write a warning to a file; replace if you like.N)WarningMessage_showwarnmsg_impl)messagecategoryfilenamelinenofilelinemsgr//opt/alt/python310/lib64/python3.10/warnings.pyr s rcCst||||d|}t|S).Function to format a warning the standard way.N)r _formatwarnmsg_impl)r rrrrrrrrrsrcCsN|j}|durtj}|durdSt|}z||WdSty&YdSwN)rsysstderr_formatwarnmsgwriteOSError)rrtextrrrr s r c Cs|jj}|jd|jd|d|jd}|jdur6zddl}||j|j}Wnty5d}d}Ynw|j}|rE| }|d|7}|j durzddl }Wn ty]d}d}Ynw| }z| |j }Wn tyud}Ynw|dur|d7}|D]5}|d|j|jf7}z|dur||j|j}nd}Wn tyd}Ynw|r| }|d |7}q|S|s||d 7}|S) N:z:  rz %s Tz-Object allocated at (most recent call last): z File "%s", lineno %s z %s z<: Enable tracemalloc to get the object allocation traceback )r__name__rrr r linecachegetline Exceptionstripsource tracemalloc is_tracingget_object_traceback) rrsr"rr'tracingtbframerrrr#sb"          rcCsbzt}Wn ty Ynw|tur+t|std||j|j|j|j|j |j dSt |dS)r z:warnings.showwarning() must be set to a function or methodN) r NameError_showwarning_origcallable TypeErrorr rrrrrr )rswrrr _showwarnmsg`s  r3cCsLzt}Wn tyYt|Sw|tur"||j|j|j|j|jSt|S)r) rr._formatwarning_origr rrrrr)rfwrrrrus   rFcCs|dvs Jd|ft|tsJdt|tsJdt|ts&Jdt|ts/Jdt|tr8|dks= 0Nappend) isinstancestrtype issubclassWarningintrecompileI _add_filter)actionr rr<rrArHrrrrs&  rcCsH|dvs Jd|ft|tr|dksJdt|d|d||ddS)aInsert a simple entry into the list of warnings filters (at the front). A simple filter matches all modules and messages. 'action' -- one of "error", "ignore", "always", "default", "module", or "once" 'category' -- a class that the warning must be a subclass of 'lineno' -- an integer line number, 0 matches all warnings 'append' -- if true, append to the list of filters r7r>rr?Nr@)rBrGrK)rLrrrArrrrs rcGsP|szt|Wn tyYnwtd|n |tvr#t|tdS)Nr)filtersremove ValueErrorinsertrA_filters_mutated)rAitemrrrrKs   rKcCsgtdd<tdS)zAClear the list of warning filters, so that no filters are active.N)rMrQrrrrrs  rc@seZdZdZdS) _OptionErrorz,Exception used by option processing helpers.N)r! __module__ __qualname____doc__rrrrrSsrSc CsN|D]"}zt|Wqty$}ztd|tjdWYd}~qd}~wwdS)NzInvalid -W option ignored:)r) _setoptionrSprintrr)argsargrrrr_processoptionss r[c Cs|d}t|dkrtd|ft|dkr#|dt|dksdd|D\}}}}}t|}t|}|s;|r?ddl}|rF||}|rO||d}|roz t|}|dkr\t Wnt t fyntd |fdwd}t |||||dS) Nrztoo many fields (max 5): %rr6cSsg|]}|qSr)r%).0r*rrr s z_setoption..rz\Zzinvalid lineno %r) splitlenrSrA _getaction _getcategoryrHescaperGrO OverflowErrorr)rZpartsrLr rr<rrHrrrrWs8      rWcCs>|sdS|dkr dSdD] }||r|Sq td|f)Nr;allr:)r;r:r9r<r=r8r>) startswithrS)rLarrrras  racCs|stSd|vrddl}|}n"|d\}}}z t|dd|g}Wnty0td|fdwzt||}WntyGtd|fdwt|tsTtd|f|S)N.rzinvalid module name: %rzunknown warning category: %rzinvalid warning category: %r) rFbuiltins rpartition __import__ ImportErrorrSgetattrAttributeErrorrE)rmklassr<_catrrrrbs&   rbcCs|jj}d|vo d|vS)zFSignal whether the frame is an internal CPython implementation detail. importlib _bootstrap)f_code co_filename)r-rrrr_is_internal_framesrxcCs0|j}|durt|r|j}|durt|s |S)z;Find the next frame that doesn't involve CPython internals.N)f_backrx)r-rrr_next_external_frames rzc Cs t|tr|j}|durt}t|trt|ts"tdt|jz+|dks.t t dr4t |}nt d}t |dD] }t |}|durKtq?Wnty]t j}d}d}Yn w|j}|jj}|j}d|vrq|d} nd} |di} t||||| | ||dS)z:Issue a warning, or maybe ignore it or raise an exception.Nz/category must be a Warning subclass, not '{:s}'r{rr!zZ__warningregistry__)rBrF __class__ UserWarningrDrEr1formatr!rxr _getframerangerzrO__dict__ f_globalsrvrwf_lineno setdefaultr) r r stacklevelr&r-xglobalsrrr<registryrrrrsB       rcCst|}|dur|p d}|dddkr|dd}|dur"i}|ddtkr2|t|d<t|tr?t|}|j}n|}||}|||f} || rQdSt D]*} | \} } } }}| duse| |r}t || r}|duss| |r}|dks{||kr}nqSt } | dkrdSddl }|||| dkr|| dkrd || <||f}t|rdSd t|<n/| d krn*| d krd || <||df}||rdSd ||<n| d krd || <ntd | | ft|||||} t| dS)Nz z.pyversionrr9r8r=r{r:r<r;z1Unrecognized action (%r) in warnings.filters: %s)rGlowerget_filters_versionclearrBrFrCr|rMmatchrE defaultactionr"getlines onceregistry RuntimeErrorr r3)r rrrr<rmodule_globalsr&rkeyrRrLrrsmodZlnr"ZoncekeyZaltkeyrrrrGsr            rc@s&eZdZdZ  dddZddZdS)r )r rrrrrr&NcCsD||_||_||_||_||_||_||_|r|j|_dSd|_dSr) r rrrrrr&r!_category_name)selfr rrrrrr&rrr__init__szWarningMessage.__init__cCsd|j|j|j|j|jfS)NzD{message : %r, category : %r, filename : %r, lineno : %s, line : %r})r rrrr)rrrr__str__s  zWarningMessage.__str__)NNN)r!rTrU_WARNING_DETAILSrrrrrrr s  r c@s8eZdZdZdddddZddZd d Zd d ZdS) r aA context manager that copies and restores the warnings filter upon exiting the context. The 'record' argument specifies whether warnings should be captured by a custom implementation of warnings.showwarning() and be appended to a list returned by the context manager. Otherwise None is returned by the context manager. The objects appended to the list are arguments whose attributes mirror the arguments to showwarning(). The 'module' argument is to specify an alternative module to the module named 'warnings' and imported under that name. This argument is only useful when testing the warnings module itself. FN)recordr<cCs(||_|dur tjdn||_d|_dS)zSpecify whether to record warnings and if an alternative module should be used other than sys.modules['warnings']. For compatibility with Python 3.0, please consider all arguments to be keyword-only. NwarningsF)_recordrmodules_module_entered)rrr<rrrrs zcatch_warnings.__init__cCsPg}|jr |d|jtjdur|d|jt|j}d|d|fS)Nz record=Truerz module=%rz%s(%s)z, )rrArrrrDr!join)rrYnamerrr__repr__s  zcatch_warnings.__repr__cCsz|jr td|d|_|jj|_|jdd|j_|j|jj|_|jj|_|j r;g}|j |j_|jj |j_|SdS)NzCannot enter %r twiceT) rrrrM_filtersrQr _showwarningr rrAr/)rlogrrr __enter__s       zcatch_warnings.__enter__cGs>|js td||j|j_|j|j|j_|j|j_dS)Nz%Cannot exit %r without entering first) rrrrrMrQrrr )rexc_inforrr__exit__s     zcatch_warnings.__exit__)r!rTrUrVrrrrrrrrr s   r cszdjdg}jdur+ddlddl}fdd}|d||t|7}d|d}t |t d d dS) Nz coroutine 'z' was never awaited rc3s6tjD]\}}}||}||||fVqdSr)reversed cr_originr#)rrfuncnamercoror"rrextracts  z*_warn_unawaited_coroutine..extractz-Coroutine created at (most recent call last) r6r )rrr&) rUrr" tracebackrA format_listlistrrstriprRuntimeWarning)r msg_linesrrrrrr_warn_unawaited_coroutines   r)rM_defaultaction _onceregistryrrrQTr;cCs td7adS)Nr{)rrrrrrQs rQZgettotalrefcount__main__)rr<rAr9)rrA)NNr)Nr{N)NNNN).rVr__all__rrr rr/r3r4rrFrrrKrr$rSr[rWrarbrxrzrrobjectr r r _warningsrMrrrQrrZ_warnings_defaultsrmr warnoptionshasattrDeprecationWarningPendingDeprecationWarning ImportWarningResourceWarningrrrrsn  ;  #  ) GC