
    hjeB                    ~    d Z ddlmZ ddlZ ej        e          ZddlmZ ddl	m
Z
 dZ G d	 d
e
          ZddZdS )z_ Bokeh Application Handler to execute on_session_destroyed callbacks defined
on the Document.

    )annotationsN   )SessionContext   )LifecycleHandler)DocumentLifecycleHandlerc                  $     e Zd ZdZd fdZ xZS )r   zC Calls on_session_destroyed callbacks defined on the Document.
    returnNonec                `    t                                                       t          | _        d S )N)super__init___on_session_destroyed)self	__class__s    Mlib/python3.11/site-packages/bokeh/application/handlers/document_lifecycle.pyr   z!DocumentLifecycleHandler.__init__,   s'    %:"""    )r
   r   )__name__
__module____qualname____doc__r   __classcell__)r   s   @r   r   r   (   sG         ; ; ; ; ; ; ; ; ; ;r   r   session_contextr   r
   r   c                   | j         j        }t                      | j         _        |D ]E}	  ||            # t          $ r*}t                              d| d|            Y d}~>d}~ww xY w|r~~ddl}|                                 dS dS )zJ
    Calls any on_session_destroyed callbacks defined on the Document
    z7DocumentLifeCycleHandler on_session_destroyed callback z failed with following error: Nr   )	_documentsession_destroyed_callbacksset	Exceptionlogwarninggccollect)r   	callbackscallbacker!   s        r   r   r   8   s      )EI<?EEO9 Q Q	QH_%%%% 	Q 	Q 	QKK P$,P PLMP P Q Q Q Q Q Q Q Q	Q  			


 s   6
A*  A%%A*)r   r   r
   r   )r   
__future__r   logging	getLoggerr   r   applicationr   	lifecycler   __all__r   r    r   r   <module>r-      s     # " " " " " g!! ) ( ( ( ( ( ' ' ' ' ' '; ; ; ; ;/ ; ; ;      r   