
    fiC                        d dl Z d dlmZ d dlZd dlmZmZmZ d dlmZm	Z	 d dl
mZmZ d dlmZ d dlmZmZmZ d dlmZmZmZmZmZ d d	lmZ er3d d
lmZmZmZmZmZ d dl m!Z!m"Z"m#Z# d dlm$Z$  ededef                   Z%	 d dl&m'Z'm(Z(m)Z)m*Z*m+Z+ d dl,m-Z-m.Z.m/Z/ n# e0$ r  ed          w xY we-e.e/fZ1 G d de          Z2d Z3d Z4d Z5d Z6d Z7dS )    N)datetime)continue_traceget_baggageget_traceparent)OP
SPANSTATUS)DidNotEnableIntegration)should_send_default_pii)BAGGAGE_HEADER_NAMESENTRY_TRACE_HEADER_NAMETransactionSource)capture_internal_exceptionsensure_integration_enabledevent_from_exceptionSENSITIVE_DATA_SUBSTITUTEreraise)TYPE_CHECKING)AnyCallableOptionalUnionTypeVar)EventProcessorEventHint)ExcInfoF.)bound)HueyResultResultGroupTaskPeriodicTask)CancelExecution	RetryTaskTaskLockedExceptionzHuey is not installedc                   2    e Zd ZdZde Zed             ZdS )HueyIntegrationhueyzauto.queue.c                  >    t                       t                       d S N)patch_enqueuepatch_execute     l/var/www/html/Pagina-Ingenieria-Requisitos/venv/lib/python3.11/site-packages/sentry_sdk/integrations/huey.py
setup_oncezHueyIntegration.setup_once.   s     	r0   N)__name__
__module____qualname__
identifieroriginstaticmethodr2   r/   r0   r1   r)   r)   *   s?        J':''F  \  r0   r)   c                  x    t           j        t          t                    fd            } | t           _        d S )Nc                 :   t          j        t          j        |j        t
          j                  5  t          |t                    s0t          t                      t          t                      i|j        d<    | |          cd d d            S # 1 swxY w Y   d S )N)opnamer7   sentry_headers)
sentry_sdk
start_spanr   QUEUE_SUBMIT_HUEYr<   r)   r7   
isinstancer$   r   r   r   r   kwargs)selftaskold_enqueues     r1   _sentry_enqueuez&patch_enqueue.<locals>._sentry_enqueue9   s     "#")
 
 
 	+ 	+
 dL11 
 (,o.?.?1,- ;tT**	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   ABBB)r    enqueuer   r)   )rF   rE   s    @r1   r-   r-   5   sE    ,K==+ + + + >=+" #DLLLr0   c                       fd}|S )Nc                    t                      5  |                     di           }j        |d<   j        j        k    |d<   |                     di           }j        t                      rj        nt          t                      rj	        nt          j        pdj        z
  d|d<   d d d            n# 1 swxY w Y   | S )Ntagshuey_task_idhuey_task_retryextrar   )rD   argsrB   retryzhuey-job)
r   
setdefaultiddefault_retriesretriesr<   r   rN   r   rB   )eventhintrJ   rM   rD   s       r1   event_processorz._make_event_processor.<locals>.event_processorP   s    )** 	 	##FB//D#'7D &*&:T\&ID"#$$Wb11E	 /003DII2 /003DKK2.3!t|C! !E*	 	 	 	 	 	 	 	 	 	 	 	 	 	 	( s   BB88B<?B<r/   )rD   rV   s   ` r1   _make_event_processorrW   N   s$        2 r0   c                 |   t          j                    }| d         t          v r&|j                            t
          j                   d S |j                            t
          j                   t          | t          j	                    j
        t          j        dd          \  }}|                    ||           d S )Nr   F)typehandled)client_options	mechanism)rU   )r>   get_current_scopeHUEY_CONTROL_FLOW_EXCEPTIONStransaction
set_statusr   ABORTEDINTERNAL_ERRORr   
get_clientoptionsr)   r6   capture_event)exc_infoscoperT   rU   s       r1   _capture_exceptionrh   l   s    (**E{222$$Z%7888	  !:;;;&!,..6*5%HH  KE4
 
D)))))r0   c                 H     t          t                      fd            }|S )Nc                      	  | i |}n;# t           $ r. t          j                    }t          |           t	          |  Y nw xY w|S r,   )	Exceptionsysrf   rh   r   )rN   rB   resultrf   funcs       r1   _sentry_executez+_wrap_task_execute.<locals>._sentry_execute   sj    	T4*6**FF 	 	 	|~~Hx(((X	
 s    5AA)r   r)   )rn   ro   s   ` r1   _wrap_task_executerp   }   s;      66	 	 	 	 76	 r0   c                  z    t           j        t          t                    dfd	            } | t           _        d S )Nc                    t          j                    5 }t                      5  d|_        |                                 |                    t          |                     d d d            n# 1 swxY w Y   |j                            dd           }t          |pi |j
        t          j        t          j        t          j                  }|                    t$          j                   t)          |dd          s t+          |j                  |_        d|_        t          j        |          5   | ||          cd d d            cd d d            S # 1 swxY w Y   	 d d d            d S # 1 swxY w Y   d S )Nr*   r=   )r<   r;   sourcer7   _sentry_is_patchedFT)r>   isolation_scoper   _nameclear_breadcrumbsadd_event_processorrW   rB   popr   r<   r   QUEUE_TASK_HUEYr   TASKr)   r7   r`   r   OKgetattrrp   executert   start_transaction)rC   rD   	timestamprg   r=   r_   old_executes         r1   ro   z&patch_execute.<locals>._sentry_execute   sR    ')) 	:U,.. G G$'')))))*?*E*EFFFG G G G G G G G G G G G G G G
 "[__-=tDDN($"Y%(-&-  K "":=1114!5u== /1$,??*.'-k:: : :"{4y99: : : : : : :+	: 	: 	: 	: 	: 	: 	: 	:*: : : : : : : : :+	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:sY   E0>A."E0.A2	2E05A2	6B;E01E>E0E	E0E	E00E47E4r,   )r    _executer   r)   )ro   r   s    @r1   r.   r.      sJ    -K==: : : : : >=:4 $DMMMr0   )8rl   r   r>   sentry_sdk.apir   r   r   sentry_sdk.constsr   r   sentry_sdk.integrationsr	   r
   sentry_sdk.scoper   sentry_sdk.tracingr   r   r   sentry_sdk.utilsr   r   r   r   r   typingr   r   r   r   r   r   sentry_sdk._typesr   r   r   r   r   huey.apir    r!   r"   r#   r$   huey.exceptionsr%   r&   r'   ImportErrorr^   r)   r-   rW   rh   rp   r.   r/   r0   r1   <module>r      s   



           G G G G G G G G G G , , , , , , , , = = = = = = = = 4 4 4 4 4 4         
              !           />>>>>>>>>>>>>>==========((((((8CH-...A0FFFFFFFFFFFFFFOOOOOOOOOOO 0 0 0
,.
/
//0 !0<OP     k   # # #2  <* * *"  $$ $ $ $ $s   B B-