U
    þ×cc§  ã                   @  sZ   d dl mZ d dlZd dlZd dlZd dlmZ ejddddœdd„ƒZd	d
œdd„Z	dS )é    )ÚannotationsN)ÚIteratorÚstrzIterator[None])Úold_nameÚnew_nameÚreturnc              
   c  s‚   z
dV  W nr t k
r| } zT|js$‚ t|jd ƒ}| | |¡}|f}t|jƒdkrd||jdd…  }||_‚ W 5 d}~X Y nX dS )z.
    Rewrite the message of an exception.
    Nr   é   )Ú	ExceptionÚargsr   ÚreplaceÚlen)r   r   ÚerrÚmsgr
   © r   ú;/tmp/pip-unpacked-wheel-3rlcv4ni/pandas/util/_exceptions.pyÚrewrite_exception	   s    
r   Úint)r   c                  C  sj   ddl } tj | j¡}tj |d¡}t ¡ }d}|rft |¡}| 	|¡rf| 	|¡sf|j
}|d7 }q0qfq0|S )zb
    Find the first place in the stack that is not inside pandas
    (tests notwithstanding).
    r   NÚtestsr   )ZpandasÚosÚpathÚdirnameÚ__file__ÚjoinÚinspectÚcurrentframeÚgetfileÚ
startswithÚf_back)ÚpdZpkg_dirZtest_dirÚframeÚnÚfnamer   r   r   Úfind_stack_level   s    

r"   )
Ú
__future__r   Ú
contextlibr   r   Útypingr   Úcontextmanagerr   r"   r   r   r   r   Ú<module>   s   