
    gh                     J   S SK r S SKrS SKJr  S SKJr  S SKJrJrJ	r	  S SK
Jr  S SKJr  S SKJrJrJrJrJr   S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SK J!r!  \!(       a  S SK J"r"J#r#  S SK$J%r%J&r&  S SKJ'r'  S SKJ(r(   " S S\	5      r)S r*S r+g! \ a	    \" S5      ef = f)    N)OP)continue_trace)_check_minimum_versionDidNotEnableIntegration)ignore_logger)TransactionSource)capture_internal_exceptionsensure_integration_enabledevent_from_exceptionformat_timestampparse_version)Queue)JobTimeoutException)VERSION)Worker)	JobStatuszRQ not installed)TYPE_CHECKING)AnyCallable)EventEventProcessor)ExcInfo)Jobc                   2    \ rS rSrSrS\ 3r\S 5       rSrg)RqIntegration%   rqzauto.queue.c                  p  ^^^ [        [        5      n [        [        U 5        [        R
                  m[        [        T5      U4S j5       nU[        l        [        R                  mU4S jnU[        l        [        R                  m[        [        T5      U4S j5       nU[        l	        [        S5        g )Nc           	        > [         R                  " 5        nUR                  5         UR                  [	        [
        R                  " U5      5      5        [        UR                  R                  S5      =(       d    0 [        R                  S[        R                  [        R                  S9n[!        5          UR"                  Ul        S S S 5        [         R&                  " USU0S9   T" X/UQ70 UD6nS S S 5        S S S 5        U R(                  (       a#  [         R*                  " 5       R-                  5         W$ ! , (       d  f       Nx= f! , (       d  f       N]= f! , (       d  f       Nf= f)N_sentry_trace_headerszunknown RQ task)opnamesourceoriginrq_job)custom_sampling_context)
sentry_sdk	new_scopeclear_breadcrumbsadd_event_processor_make_event_processorweakrefrefr   metagetr   QUEUE_TASK_RQr	   TASKr   r%   r
   	func_namer#   start_transactionis_horse
get_clientflush)selfjobargskwargsscopetransactionrvold_perform_jobs          ]/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/sentry_sdk/integrations/rq.pysentry_patched_perform_job<RqIntegration.setup_once.<locals>.sentry_patched_perform_job1   s    %%'5'')))*?C@P*QR,HHLL!89?R''*,11(// 12'*}}K$ 3  11-5sO )DTDVDB	 (* }} %%'--/I 32  ('s<   B"E9D=E*E7E=
E	E
E	E
E-c                   > [        US5      =(       a"    UR                  =(       a    UR                  S:  nUR                  [        R                  :H  =(       d    UR
                  nU(       a  U(       d  [        U5        T" X/UQ70 UD6$ )Nretries_leftr   )hasattrrD   _statusr   FAILED	is_failed_capture_exception)r8   r9   exc_infor;   retryfailedold_handle_exceptions         r@   sentry_patched_handle_exceptionARqIntegration.setup_once.<locals>.sentry_patched_handle_exceptionU   sv     ^, )$$)$$q( 
 [[I$4$44EFe"8,'GHGGG    c                    > [         R                  " 5       nUR                  b&  [        UR	                  5       5      UR
                  S'   T" X40 UD6$ )Nr!   )r(   get_current_scopespandictiter_trace_propagation_headersr/   )r8   r9   r;   r<   old_enqueue_jobs       r@   sentry_patched_enqueue_job<RqIntegration.setup_once.<locals>.sentry_patched_enqueue_jobf   sO     002Ezz%4888:501 #4777rP   z	rq.worker)r   
RQ_VERSIONr   r   r   perform_jobr   handle_exceptionr   enqueue_jobr   )versionrA   rN   rW   rV   rM   r?   s       @@@r@   
setup_onceRqIntegration.setup_once)   s      
+}g6 ,,	#M?	C	 
D	> 8%66	H #B++	#M?	C	8 
D	8 7k"rP    N)	__name__
__module____qualname____firstlineno__
identifierr%   staticmethodr^   __static_attributes__r`   rP   r@   r   r   %   s'    J:,'FI# I#rP   r   c                    ^  U 4S jnU$ )Nc                 \  > T" 5       nUb  [        5          U R                  S0 5      nUR                  UR                  UR                  UR
                  UR                  S.nUR                  (       a  [        UR                  5      US'   UR                  (       a  [        UR                  5      US'   XCS'   S S S 5        SU;   aB  [        5          [        US   S   [        5      (       a  SS	UR                  /U S
'   S S S 5        U $ U $ ! , (       d  f       NX= f! , (       d  f       U $ = f)Nextra)job_idfuncr:   r;   descriptionenqueued_at
started_atzrq-jobrJ   r   r   r   fingerprint)r
   
setdefaultidr3   r:   r;   rm   rn   r   ro   
issubclassr   )eventhintr9   rj   r&   weak_jobs        r@   event_processor._make_event_processor.<locals>.event_processorx   s    j?,.(("5!ffMMHH!jj#&?? ??,<S__,MF=)>>+;CNN+KF<("(h /" ,.d:.q13FGG,02G+WE-( / u- /.$ /. s   B#D.D
D
D+r`   )rv   rw   s   ` r@   r,   r,   v   s    8 rP   c                     [         R                  " 5       n[        U UR                  SSS.S9u  p4[         R                  " X4S9  g )Nr   F)typehandled)client_options	mechanism)ru   )r(   r6   r   optionscapture_event)rJ   r;   clientrt   ru   s        r@   rI   rI      s>    ""$F&~~E2KE U.rP   ),r-   r(   sentry_sdk.constsr   sentry_sdk.apir   sentry_sdk.integrationsr   r   r   sentry_sdk.integrations.loggingr   sentry_sdk.tracingr	   sentry_sdk.utilsr
   r   r   r   r   rq.queuer   rq.timeoutsr   
rq.versionr   rY   	rq.workerr   rq.jobr   ImportErrortypingr   r   r   sentry_sdk._typesr   r   r   r   r   r,   rI   r`   rP   r@   <module>r      s        ) U U 9 0 +/0   !$7(N#K N#bB
/A  +
)
**+s   B B"