o
    i                     @   sz   d dl Z d dlZd dlmZmZ d dlmZ d dlmZ er*d dlm	Z	 d dlm
Z
 G dd deZ			
		
dddZdS )    N)capture_internal_exceptionsevent_from_exception)Integration)TYPE_CHECKING)Callable)Anyc                   @   s   e Zd ZdZedddZdS )UnraisablehookIntegrationunraisablehookreturnNc                   C   s   t tjt_d S )N)_make_unraisablesysr	    r   r   c/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/sentry_sdk/integrations/unraisablehook.py
setup_once   s   z$UnraisablehookIntegration.setup_once)r
   N)__name__
__module____qualname__
identifierstaticmethodr   r   r   r   r   r      s    r   old_unraisablehook'Callable[[sys.UnraisableHookArgs], Any]r
   c                    s   d fdd}|S )N
unraisablesys.UnraisableHookArgsr
   c                    s   t  t}|d u r | S | jrG| jrGt ' t| j| j| jft  j	dddd\}}t j
||d W d     | S 1 sBw   Y   | S )Nr	   F)typehandled)client_options	mechanism)hint)
sentry_sdk
get_clientget_integrationr   	exc_valueexc_tracebackr   r   exc_typeoptionscapture_event)r   integrationeventr   r   r   r   sentry_sdk_unraisablehook   s$   
	
z3_make_unraisable.<locals>.sentry_sdk_unraisablehook)r   r   r
   Nr   )r   r)   r   r(   r   r      s   r   )r   r   r
   r   )r   r   sentry_sdk.utilsr   r   sentry_sdk.integrationsr   typingr   r   r   r   r   r   r   r   r   <module>   s    