a
    xd-                     @   s   d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ erpd dlmZ d dlmZ d	d
 ZG dd de
ZdS )    )absolute_importN)Hub)logger)Integration)MYPY)Any)Optionalc                 C   sH   dd }|d|   |d|  |dt jdkr2dp4d  tj  d	S )
zThis is the default shutdown callback that is set on the options.
    It prints out a message to stderr that informs the user that some events
    are still pending and the process is waiting for them to flush out.
    c                 S   s   t j| d  d S )N
)sysstderrwrite)msg r   V/var/www/html/Ranjet/env/lib/python3.9/site-packages/sentry_sdk/integrations/atexit.pyecho   s    zdefault_callback.<locals>.echoz6Sentry is attempting to send %i pending error messageszWaiting up to %s secondszPress Ctrl-%s to quitntBreakCN)osnamer
   r   flush)pendingtimeoutr   r   r   r   default_callback   s
    r   c                   @   s&   e Zd ZdZdddZedd ZdS )AtexitIntegrationatexitNc                 C   s   |d u rt }|| _d S )N)r   callback)selfr   r   r   r   __init__'   s    zAtexitIntegration.__init__c                  C   s   t jdd } d S )Nc                  S   sL   t d tj} | t}|d urHt d |   | j}|j|j	d d S )Nzatexit: got shutdown signalzatexit: shutting down client)r   )
r   debugr   mainZget_integrationr   Zend_sessionclientcloser   )ZhubZintegrationr!   r   r   r   	_shutdown0   s    


z/AtexitIntegration.setup_once.<locals>._shutdown)r   register)r#   r   r   r   
setup_once-   s    zAtexitIntegration.setup_once)N)__name__
__module____qualname__
identifierr   staticmethodr%   r   r   r   r   r   $   s   
r   )
__future__r   r   r
   r   Zsentry_sdk.hubr   Zsentry_sdk.utilsr   Zsentry_sdk.integrationsr   Zsentry_sdk._typesr   typingr   r   r   r   r   r   r   r   <module>   s   