
    \jo                     ~    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 d dl	m
Z
 e
rd dl	mZ d dlmZmZ  G d d	e      Zy)
    N)
ContextVarlogger)Integrationadd_global_event_processor)TYPE_CHECKING)Optional)EventHintc                   <    e Zd ZdZddZedd       Zedd       Zy)DedupeIntegrationdedupeNc                 $    t        d      | _        y )Nz	last-seen)r   
_last_seen)selfs    H/root/env/lib/python3.12/site-packages/sentry_sdk/integrations/dedupe.py__init__zDedupeIntegration.__init__   s    $[1    c                      t         dd       } y )Nc                    || S t        j                         j                  t              }|| S |j	                  dd       }|| S |j
                  j	                  d       }|#t        |t        j                        r |       n|}|d   }||u rt        j                  d|       y 	 |j
                  j                  t        j                  |             | S # t        $ r |j
                  j                  |       Y | S w xY w)Nexc_info   z3DedupeIntegration dropped duplicated error event %s)
sentry_sdk
get_clientget_integrationr   getr   
isinstanceweakrefrefr   infoset	TypeError)eventhintintegrationr   	last_seenexcs         r   	processorz/DedupeIntegration.setup_once.<locals>.processor   s    |$//1AABSTK"xx
D1H#..2248I$ $.i#EIK9  1+CCQSVW0&&**7;;s+;< L  0&&**3/L0s   '.C $C?>C?)r#   r
   r$   zOptional[Hint]returnzOptional[Event]r   )r(   s    r   
setup_oncezDedupeIntegration.setup_once   s    	#	 
$	r   c                      t        j                         j                  t              } | y | j                  j                  d        y )N)r   r   r   r   r   r!   )r%   s    r   reset_last_seenz!DedupeIntegration.reset_last_seen9   s9     ++-==>OP""4(r   )r)   N)__name__
__module____qualname__
identifierr   staticmethodr*   r,    r   r   r   r      s5    J2    D ) )r   r   )r   r   sentry_sdk.utilsr   r   sentry_sdk.integrationsr   sentry_sdk.scoper   typingr   r	   sentry_sdk._typesr
   r   r   r2   r   r   <module>r8      s,      / / 7  -/) /)r   