o
    i                     @   s   d dl Z d dlmZmZ d dlmZ d dlmZmZ d dl	m
Z
 e
r0d dl	mZ d dlmZmZ zd dlZW n eyA   edw G d	d
 d
eZdS )    N)IntegrationDidNotEnableadd_global_event_processor)walk_exception_chainiter_stacks)TYPE_CHECKING)Optional)EventHintzexecuting is not installedc                   @   s   e Zd ZdZedddZdS )ExecutingIntegration	executingreturnNc                  C   s   t 						d	dd} d S )
Neventr
   hintOptional[Hint]r   Optional[Event]c                 S   s  t  td u r| S |d u r| S |dd }|d u r| S | dd }|d u r)| S |dd }|d u r5| S tt|t|D ]@\}\}}}dd |di dg D }tt	|}	t
|t
|	krcq>t||	D ]\}
}|j}tj|}||j|
d< qhq>| S )	Nexc_info	exceptionvaluesc                 S   s   g | ]	}| d r|qS )function)get).0frame r   ^/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/sentry_sdk/integrations/executing.py
<listcomp>4   s    zOExecutingIntegration.setup_once.<locals>.add_executing_info.<locals>.<listcomp>
stacktraceframesr   )
sentry_sdk
get_clientget_integrationr   r   zipreversedr   listr   lentb_framer   Source	for_framecode_qualnamef_code)r   r   r   r   r   	_exc_type
_exc_valueexc_tbsentry_framestbssentry_frametbr   sourcer   r   r   add_executing_info   s8   z;ExecutingIntegration.setup_once.<locals>.add_executing_info)r   r
   r   r   r   r   r   )r3   r   r   r   
setup_once   s   zExecutingIntegration.setup_once)r   N)__name__
__module____qualname__
identifierstaticmethodr4   r   r   r   r   r      s    r   )r   sentry_sdk.integrationsr   r   sentry_sdk.scoper   sentry_sdk.utilsr   r   typingr   r	   sentry_sdk._typesr
   r   r   ImportErrorr   r   r   r   r   <module>   s    