o
    jÄŽi  ã                   @   s\   d dl Zd dlZd dlZd dlmZ d dlmZ de	dee	ef fdd„Z
defd	d
„ZdS )é    N)ÚPath)ÚUnionÚmodule_nameÚfilepathc                 C   s*   t j | |¡}t j |¡}|j |¡ |S )N)Ú	importlibÚutilÚspec_from_file_locationÚmodule_from_specÚloaderÚexec_module)r   r   ÚspecÚmodule© r   úJ/home/jeff/fluffinator/venv/lib/python3.10/site-packages/pybboxes/utils.pyÚimport_module   s   r   Úreturnc                  C   sp   ddl } tj | j¡}tj |d¡}t ¡ }d}|r6t |¡}| 	|¡r1| 	|¡s1|j
}|d7 }n	 |S |s|S )zÀ
    Taken and adapted from pandas exception utility module.
    ref:
    https://github.com/pandas-dev/pandas/blob/22cb3793b47ed5b1f98156b58e0bfc109acebdc9/pandas/util/_exceptions.py#L27
    r   NÚtestsé   )ÚpybboxesÚosÚpathÚdirnameÚ__file__ÚjoinÚinspectÚcurrentframeÚgetfileÚ
startswithÚf_back)ÚpbxÚpkg_dirÚtest_dirÚframeÚnÚfnamer   r   r   Úfind_stack_level   s   

ùr%   )Úimportlib.utilr   r   Úos.pathr   Úpathlibr   Útypingr   Ústrr   Úintr%   r   r   r   r   Ú<module>   s    