
    -ea                        d Z ddlmZ ddlZ ej        e          ZddlmZm	Z	 ddl
mZ ddlmZmZ d	d
lmZ dZ G d de          ZddZdS )zg Bokeh Application Handler to look for Bokeh server lifecycle callbacks
in a specified Python module.

    )annotationsN)AnyCallable   )Document   )ServerContextSessionContext   )Handler)LifecycleHandlerc                       e Zd ZU dZded<   ded<   ded<   ded<   d fd
Zedd            ZddZddZ	ddZ
ddZddZ xZS )r   z? Load a script which contains server lifecycle callbacks.

    zCallable[[ServerContext], None]_on_server_loaded_on_server_unloadedz Callable[[SessionContext], None]_on_session_created_on_session_destroyedreturnNonec                    t                                                       t          | _        t          | _        t          | _        t          | _        d S N)super__init___do_nothingr   r   r   r   )self	__class__s    Dlib/python3.11/site-packages/bokeh/application/handlers/lifecycle.pyr   zLifecycleHandler.__init__6   s?    !,#. #. %0"""    boolc                    dS )NT )r   s    r   safe_to_forkzLifecycleHandler.safe_to_fork=   s    tr   docr   c                    dS )z This handler does not make any modifications to the Document.

        Args:
            doc (Document) : A Bokeh Document to update in-place

                *This handler does not modify the document*

        Returns:
            None

        Nr    )r   r"   s     r   modify_documentz LifecycleHandler.modify_documentC   s	     	r   server_contextr	   c                ,    |                      |          S )z Execute `on_server_unloaded`` from the configured module (if
        it is defined) when the server is first started.

        Args:
            server_context (ServerContext) :

        )r   r   r%   s     r   on_server_loadedz!LifecycleHandler.on_server_loadedR   s     %%n555r   c                ,    |                      |          S )aj   Execute ``on_server_unloaded`` from the configured module (if
        it is defined) when the server cleanly exits. (Before stopping the
        server's ``IOLoop``.)

        Args:
            server_context (ServerContext) :

        .. warning::
            In practice this code may not run, since servers are often killed
            by a signal.

        )r   r'   s     r   on_server_unloadedz#LifecycleHandler.on_server_unloaded\   s     ''777r   session_contextr
   c                0   K   |                      |          S )z Execute ``on_session_created`` from the configured module (if
        it is defined) when a new session is created.

        Args:
            session_context (SessionContext) :

        )r   r   r+   s     r   on_session_createdz#LifecycleHandler.on_session_createdk   s       ''888r   c                0   K   |                      |          S )z Execute ``on_session_destroyed`` from the configured module (if
        it is defined) when a new session is destroyed.

        Args:
            session_context (SessionContext) :

        )r   r-   s     r   on_session_destroyedz%LifecycleHandler.on_session_destroyedu   s       ))/:::r   )r   r   )r   r   )r"   r   r   r   )r%   r	   r   r   )r+   r
   r   r   )__name__
__module____qualname____doc____annotations__r   propertyr!   r$   r(   r*   r.   r0   __classcell__)r   s   @r   r   r   ,   s           766688889999;;;;1 1 1 1 1 1    X
   6 6 6 68 8 8 89 9 9 9; ; ; ; ; ; ; ;r   r   ignoredr   r   r   c                    d S r   r    )r8   s    r   r   r      s    Dr   )r8   r   r   r   )r4   
__future__r   logging	getLoggerr1   logtypingr   r   documentr   applicationr	   r
   handlerr   __all__r   r   r    r   r   <module>rC      s     # " " " " " g!! !               !           7 7 7 7 7 7 7 7      Q; Q; Q; Q; Q;w Q; Q; Q;v	 	 	 	 	 	r   