Viewing File: /opt/hc_python/lib/python3.12/site-packages/sentry_sdk/__pycache__/feature_flags.cpython-312.pyc

�

h0i����ddlZddlZddlmZddlmZddlmZmZerddlm	Z	e	de
ed��ZdZ
Gd	�d
�Zd�Zy)�N)�LRUCache)�Lock)�
TYPE_CHECKING�Any)�	TypedDict�FlagData��flag�result�dc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�
FlagBufferc�P�||_t�|_t|�|_y�N)�capacityr�lockr�_FlagBuffer__buffer)�selfrs  �G/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/feature_flags.py�__init__zFlagBuffer.__init__s �� ��
��F��	�!��*��
�c�8�t|j�|_yr)rrr)rs r�clearzFlagBuffer.clears�� ����/��
rc��|j5t|j�}tj|j
|�|_|cddd�S#1swYyxYwr)rrr�copy�deepcopyr)r�memo�buffers   r�__deepcopy__zFlagBuffer.__deepcopy__s:��
�Y�Y���
�
�.�F�"�m�m�D�M�M�4�@�F�O���Y�Y�s�<A�Ac��|j5|jj�D��cgc]
\}}||d���c}}cddd�Scc}}w#1swYyxYw)Nr	)rr�get_all)r�key�values   r�getzFlagBuffer.get&sK��
�Y�Y�AE���AV�AV�AX��AX�:�3����.�AX���Y����Y�s�A
�A�A
�A
�
Ac��t|t�rtd��|j5|jj||�ddd�y#1swYyxYw)Nz=FlagBuffer instances can not be inserted into the dictionary.)�
isinstancer�
ValueErrorrr�set)rr
rs   rr(zFlagBuffer.set-sE���f�j�)�
�O��
��Y�Y��M�M���d�F�+��Y�Y�s�A�AN)�__name__�
__module__�__qualname__rrrr$r(�rrrrs��+�0���,rrc��tj�j}|j||�tj�}|r|jd|��|�yy)z�
    Records a flag and its value to be sent on subsequent error events.
    We recommend you do this on flag evaluations. Flags are buffered per Sentry scope.
    zflag.evaluation.N)�
sentry_sdk�get_isolation_scope�flagsr(�get_current_span�set_flag)r
rr0�spans    r�add_feature_flagr4<sR��
�*�*�,�2�2�E�	�I�I�d�F���&�&�(�D���
�
�(���/��8�r)rr.�sentry_sdk._lru_cacher�	threadingr�typingrrr�str�boolr�DEFAULT_FLAG_CAPACITYrr4r,rr�<module>r;sC����*��%�� ���c�T�%B�C�H���(,�(,�V9r
Back to Directory File Manager