U
    /eZ                     @  sb   d Z ddlmZ ddlZeeZddlmZ ddl	m
Z
 dZG d	d
 d
e
ZdddddZdS )z_ Bokeh Application Handler to execute on_session_destroyed callbacks defined
on the Document.

    )annotationsN   )SessionContext   )LifecycleHandler)DocumentLifecycleHandlerc                      s&   e Zd ZdZdd fddZ  ZS )r   z[ Calls on_session_destroyed callbacks defined on the Document.

    .. autoclasstoc::

    None)returnc                   s   t    t| _d S )N)super__init___on_session_destroyed)self	__class__ Q/tmp/pip-unpacked-wheel-f5fndrjf/bokeh/application/handlers/document_lifecycle.pyr   /   s    
z!DocumentLifecycleHandler.__init__)__name__
__module____qualname____doc__r   __classcell__r   r   r   r   r   (   s   r   r   r   )session_contextr	   c                 C  s~   | j j}t | j _|D ]J}z||  W q tk
r^ } ztd| d|  W 5 d}~X Y qX q|rz~~ddl}|  dS )zJ
    Calls any on_session_destroyed callbacks defined on the Document
    z7DocumentLifeCycleHandler on_session_destroyed callback z failed with following error: Nr   )Z	_documentZsession_destroyed_callbacksset	ExceptionlogwarninggcZcollect)r   	callbackscallbacker   r   r   r   r   ;   s    
*r   )r   
__future__r   logging	getLoggerr   r   Zapplicationr   Z	lifecycler   __all__r   r   r   r   r   r   <module>   s   
