B
    w2[M                 @   s  d dl Z dddddddd	gZd;d
dZd<ddZdd Zdd ZeZdd ZeZdd Z	de
dd dfddZe
d dfddZdd Zdd ZG dd deZdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd=d*dZd>d+dZG d,d- d-eZG d.d	 d	eZd/d0 Zy0d d1lmZmZm Z mZmZm!Z! eZ"e Z#d2Z$W n2 e%k
rj   g Zd3Z"i Z#d)a&d4d5 Z!dZ$Y nX ee j' e$se(e d6sed3e)d7d)d8 ed9e)d)d: ed9e*d)d: ed9e+d)d: ed9e,d)d: [$dS )?    Nwarnwarn_explicitshowwarningformatwarningfilterwarningssimplefilterresetwarningscatch_warningsc             C   s   t | |||||}t| d S )N)WarningMessage_showwarnmsg_impl)messagecategoryfilenamelinenofilelinemsg r   "/root/Python-3.7.0/Lib/warnings.pyr   
   s    c             C   s   t | |||d |}t|S )N)r
   _formatwarnmsg_impl)r   r   r   r   r   r   r   r   r   r      s    c             C   sP   | j }|d kr tj}|d kr d S t| }y|| W n tk
rJ   Y nX d S )N)r   sysstderr_formatwarnmsgwriteOSError)r   r   textr   r   r   r      s    r   c          	   C   sL  d| j | j| jj| jf }| jd kr`ydd l}|| j | j}W qf tk
r\   d }d }Y qfX n| j}|r~|	 }|d| 7 }| j
d k	rHydd l}|| j
}W n tk
r   d }Y nX |d k	rH|d7 }xx|D ]p}|d|j |jf 7 }y$|d k	r
||j |j}nd }W n tk
r*   d }Y nX |r|	 }|d| 7 }qW |S )Nz%s:%s: %s: %s
r   z  %s
z-Object allocated at (most recent call last):
z  File "%s", lineno %s
z    %s
)r   r   r   __name__r   r   	linecachegetline	ExceptionstripsourcetracemallocZget_object_traceback)r   sr   r   r"   tbframer   r   r   r   #   sF    






r   c             C   sd   yt }W n tk
r   Y n<X |tk	rXt|s6td|| j| j| j| j| j	| j
 d S t|  d S )Nz:warnings.showwarning() must be set to a function or method)r   	NameError_showwarning_origcallable	TypeErrorr   r   r   r   r   r   r   )r   Zswr   r   r   _showwarnmsgU   s    r*   c             C   sJ   yt }W n tk
r   Y n&X |tk	rB|| j| j| j| j| jdS t| S )N)r   )	r   r&   _formatwarning_origr   r   r   r   r   r   )r   Zfwr   r   r   r   j   s    
r    Fc             C   sT   |s|rdd l }|r$|||j}nd }|r8||}nd }t| |||||d d S )Nr   )append)recompileI_add_filter)actionr   r   moduler   r-   r.   r   r   r   r   w   s    c             C   s   t | d |d ||d d S )N)r-   )r1   )r2   r   r   r-   r   r   r   r      s    c             G   sR   | s6yt | W n tk
r&   Y nX t d| n|t krHt | t  d S )Nr   )filtersremove
ValueErrorinsertr-   _filters_mutated)r-   itemr   r   r   r1      s    
r1   c               C   s   g t d d < t  d S )N)r4   r8   r   r   r   r   r      s    c               @   s   e Zd ZdS )_OptionErrorN)r   
__module____qualname__r   r   r   r   r:      s   r:   c             C   sR   xL| D ]D}yt | W q tk
rH } ztd|tjd W d d }~X Y qX qW d S )NzInvalid -W option ignored:)r   )
_setoptionr:   printr   r   )argsargr   r   r   r   _processoptions   s
    
rA   c          	   C   s   dd l }| d}t|dkr,td| f xt|dk rF|d q.W dd |D \}}}}}t|}||}t|}||}|r|d }|ryt|}|dk rt	W q t	t
fk
r   td	|f d Y qX nd}t||||| d S )
Nr   :   ztoo many fields (max 5): %rr,   c             S   s   g | ]}|  qS r   )r    ).0r#   r   r   r   
<listcomp>   s   z_setoption.<locals>.<listcomp>$zinvalid lineno %r)r.   splitlenr:   r-   
_getactionZescape_getcategoryintr6   OverflowErrorr   )r@   r.   Zpartsr2   r   r   r3   r   r   r   r   r=      s.    


r=   c             C   sB   | sdS | dkrdS xdD ]}| | r|S qW td| f d S )Ndefaultallalways)rM   rO   ignorer3   onceerrorzinvalid action: %r)
startswithr:   )r2   ar   r   r   rI      s     

rI   c             C   s   dd l }| stS |d| rPyt| }W q tk
rL   td| f d Y qX n| d}| d | }| |d d  }yt|d d |g}W n$ tk
r   td|f d Y nX yt	||}W n$ t
k
r   td| f d Y nX t|tstd| f |S )Nr   z^[a-zA-Z0-9_]+$zunknown warning category: %r.   zinvalid module name: %rzinvalid warning category: %r)r.   Warningmatchevalr&   r:   rfind
__import__ImportErrorgetattrAttributeError
issubclass)r   r.   catir3   Zklassmr   r   r   rJ      s,    

rJ   c             C   s   | j j}d|kod|kS )NZ	importlib
_bootstrap)f_codeco_filename)r%   r   r   r   r   _is_internal_frame	  s    rf   c             C   s&   | j } x| d k	r t| r | j } qW | S )N)f_backrf   )r%   r   r   r   _next_external_frame  s    
rh   rV   c          	   C   sv  t | tr| j}|d krt}t |tr0t|tsDtdt|jyZ|dks\t	t
drht
|}n4t
d}x(t|d D ]}t|}|d krtqW W n tk
r   t
j}d}Y nX |j}|j}d|kr|d }nd}|d}	|	r|	 }
|
drP|	d d }	n>|dkrFyt
jd	 }	W n tk
rD   d}	Y nX |	sP|}	|d
i }t| ||	||||| d S )Nz/category must be a Warning subclass, not '{:s}'rV   r   z<string>__file__z.pyc__main__r   Z__warningregistry__)
isinstancerW   	__class__UserWarningtyper_   r)   formatr   rf   r   	_getframerangerh   r6   __dict__	f_globalsf_linenogetlowerendswithargvr^   
setdefaultr   )r   r   
stacklevelr!   r%   xglobalsr   r3   r   Zfnlregistryr   r   r   r     sL    






c             C   s  t |}|d kr8|pd}|dd   dkr8|d d }|d krDi }|ddtkrd|  t|d< t| tr~t| }| j}n| }|| } |||f}	||	rd S x^t	D ]R}
|
\}}}}}|d ks|
|rt||r|d ks|
|r|dks||krP qW t}|dkrd S dd l}||| |dkr2| |dkrfd	||	< ||f}t|r\d S d	t|< nf|d
krrnZ|dkrd	||	< ||df}||rd S d	||< n$|dkrd	||	< ntd||
f t| ||||}t| d S )Nz	<unknown>z.pyversionr   rP   rR   rQ   rV   rO   r3   rM   z1Unrecognized action (%r) in warnings.filters:
 %s)rK   rw   rv   _filters_versionclearrl   rW   strrm   r4   rX   r_   defaultactionr   ZgetlinesonceregistryRuntimeErrorr
   r*   )r   r   r   r   r3   r~   Zmodule_globalsr!   r   keyr9   r2   r   r`   modZlnr   ZoncekeyZaltkeyr   r   r   r   L  sj    














c               @   s"   e Zd ZdZdddZdd ZdS )r
   )r   r   r   r   r   r   r!   Nc             C   s>   || _ || _|| _|| _|| _|| _|| _|r4|jnd | _d S )N)	r   r   r   r   r   r   r!   r   _category_name)selfr   r   r   r   r   r   r!   r   r   r   __init__  s    zWarningMessage.__init__c             C   s   d| j | j| j| j| jf S )NzD{message : %r, category : %r, filename : %r, lineno : %s, line : %r})r   r   r   r   r   )r   r   r   r   __str__  s    zWarningMessage.__str__)NNN)r   r;   r<   Z_WARNING_DETAILSr   r   r   r   r   r   r
     s    

r
   c               @   s4   e Zd ZdddddZdd Zdd	 Zd
d ZdS )r	   FN)recordr3   c            C   s(   || _ |d krtjd n|| _d| _d S )NwarningsF)_recordr   modules_module_entered)r   r   r3   r   r   r   r     s    zcatch_warnings.__init__c             C   sP   g }| j r|d | jtjd k	r4|d| j  t| j}d|d|f S )Nzrecord=Truer   z	module=%rz%s(%s)z, )r   r-   r   r   r   ro   r   join)r   r?   namer   r   r   __repr__  s    

zcatch_warnings.__repr__c             C   s~   | j rtd|  d| _ | jj| _| jd d  | j_| j  | jj| _| jj| _| j	rvg }|j
| j_| jj| j_|S d S d S )NzCannot enter %r twiceT)r   r   r   r4   _filtersr8   r   _showwarningr   r   r-   r'   )r   Zlogr   r   r   	__enter__  s    




zcatch_warnings.__enter__c             G   s>   | j std|  | j| j_| j  | j| j_| j| j_d S )Nz%Cannot exit %r without entering first)	r   r   r   r   r4   r8   r   r   r   )r   exc_infor   r   r   __exit__  s    


zcatch_warnings.__exit__)r   r;   r<   r   r   r   r   r   r   r   r   r	     s   	c                sz   d j  dg} jd k	rVdd ldd l} fdd}|d ||t| 7 }d|d}t	|t
d	 d
 d S )Nzcoroutine 'z' was never awaited
r   c              3   s8   x2t  jD ]$\} }}| |}| |||fV  qW d S )N)reversed	cr_originr   )r   r   Zfuncnamer   )coror   r   r   extract  s    z*_warn_unawaited_coroutine.<locals>.extractz-Coroutine created at (most recent call last)
r,   
   )r   r{   r!   )r<   r   r   	tracebackr-   Zformat_listlistr   rstripr   RuntimeWarning)r   Z	msg_linesr   r   r   r   )r   r   r   _warn_unawaited_coroutine  s    

r   )r4   _defaultaction_onceregistryr   r   r8   TrM   c               C   s   t d7 a d S )NrV   )r   r   r   r   r   r8     s    r8   Zgettotalrefcountrk   )r   r3   r-   rP   )r   r-   )NN)N)NrV   N)NNNN)-r   __all__r   r   r   r   r'   r*   r+   r   rW   r   r   r1   r   r   r:   rA   r=   rI   rJ   rf   rh   r   r   objectr
   r	   r   	_warningsr4   r   r   r8   r   r   Z_warnings_defaultsr\   r   warnoptionshasattrDeprecationWarningPendingDeprecationWarningImportWarningResourceWarningr   r   r   r   <module>   sf   

0"
	
5 
EC 


