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

�

_�*jW���ddlZddlmZmZddlmZddlmZerddlmZmZm	Z	m
Z
ddlmZdd�Z
				dd�ZGd	�d
�Zy)
�N)�datetime�timezone)�
TYPE_CHECKING)�format_timestamp)�Any�Dict�Optional�Union)�
SessionStatusc�(�|jdd��S)Nr)�second�microsecond)�replace)�tss �A/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/session.py�
_minute_truncr
s��
�:�:�Q�A�:�.�.�c�d�t|tj�r|Stj|�S�N)�
isinstance�uuid�UUID)�vals r�
_make_uuidrs%���#�t�y�y�!��
��9�9�S�>�rc��eZdZ													dddddddddd	d
ddd
ddddddddddddeddfd�Zedd��Z												d																									d d�Z	d!			d"d�Z	d#			d$d�Z	d%d�Z
y)&�SessionN�sid�Optional[Union[str, uuid.UUID]]�did�
Optional[str]�	timestamp�Optional[datetime]�started�duration�Optional[float]�status�Optional[SessionStatus]�release�environment�
user_agent�
ip_address�errors�
Optional[int]�user�
Optional[Any]�session_mode�returnc�D�|�tj�}|�#tjtj
�}|�d}||_d|_||_d|_	d|_
d|_d|_d|_
|
|_d|_|j!|||||||	|
||��
y)N�okr)
rrr!r$r(r)r*r+r,r.)r�uuid4r�nowr�utcr&rr#r(r)r$r*r+r0r,�update)�selfrrr!r#r$r&r(r)r*r+r,r.r0s              r�__init__zSession.__init__s��� �;��*�*�,�C��?��l�l�8�<�<�0�G��>��F����$(������(,���,0���+/��
�+/���+/���!-��������������#�!�!���	�	
rc�,�t|j�Sr)rr#)r8s r�truncated_startedzSession.truncated_startedHs���T�\�\�*�*rc
���|rL|
�|jd�}
|�7|jd�xs$|jd�xs|jd�}|�t|�|_|�t|�|_|�#tjtj�}||_	|�||_
|�||_|�||_|�||_
|
�|
|_|	�|	|_|�||_|�||_yy)Nr+�id�email�username)�getrr�strrrr5rr6r!r#r$r(r)r+r*r,r&)
r8rrr!r#r$r&r(r)r*r+r,r.s
             rr7zSession.updateLs��� ��!�!�X�X�l�3�
��{��h�h�t�n�Q�����(9�Q�T�X�X�j�=Q���?�!�#��D�H��?��3�x�D�H��� ���X�\�\�2�I�"�����"�D�L���$�D�M���"�D�L��"�*�D���!�(�D�O��!�(�D�O��� �D�K��� �D�K�rc�T�|�|jdk(rd}|�|j|��yy)Nr3�exited)r&)r&r7)r8r&s  r�closez
Session.close{s2���>�d�k�k�T�1��F����K�K�v�K�&�rc���i}|j�|j|d<|j�|j|d<|r6|j�|j|d<|j�|j|d<|S)Nr(r)r+r*)r(r)r+r*)r8�with_user_info�attrss   r�get_json_attrszSession.get_json_attrs�su�����<�<�#�#�|�|�E�)�����'�#'�#3�#3�E�-� �����*�&*�o�o��l�#����*�&*�o�o��l�#��rc�l�t|j�dt|j�t|j�|j
d�}|jr|j|d<|j�|j|d<|j�|j|d<|j�}|r||d<|S)NT)r�initr#r!r&r,rr$rG)
rArrr#r!r&r,rr$rH)r8�rvrGs   r�to_jsonzSession.to_json�s����t�x�x�=��'����5�)�$�.�.�9��k�k� 
���;�;��;�;�B�x�L��8�8�����B�u�I��=�=�$�!�]�]�B�z�N��#�#�%����B�w�K��	r)
NNNNNNNNNNNN�application)r1r)NNNNNNNNNNNN)rrrr r!r"r#r"r$r%r&r'r(r r)r r*r r+r r,r-r.r/r1Nr)r&r'r1r)T)rFzOptional[bool]r1r)r1r)�__name__�
__module__�__qualname__rAr9�propertyr;r7rDrHrL�rrrrs���26�#�*.�(,�&*�,0�#'�'+�&*�&*�"&� $�)�,
�
.�,
��,
�(�	,
�
&�,
�$�
,
�*�,
�!�,
�%�,
�$�,
�$�,
� �,
��,
��,
�
�,
�\�+��+�
26�#�*.�(,�&*�,0�#'�'+�&*�&*�"&� $�-!�
.�-!��-!�(�	-!�
&�-!�$�
-!�*�-!�!�-!�%�-!�$�-!�$�-!� �-!��-!�
�-!�b-1�'�)�'�
�'�,0��(��
�� rr)rrr1r)rzUnion[str, uuid.UUID]r1z	uuid.UUID)rrr�typingr�sentry_sdk.utilsrrrr	r
�sentry_sdk._typesrrrrrRrr�<module>rVsC���'� �-��1�1�/�/��	 ����L�Lr
Back to Directory File Manager