
    bi                     D    d dl mZ d dlmZ d dlZd dlZ G d dee      Zy)    )WebSocketHandler)JupyterHandlerNc                   $    e Zd Zd Zd Zd Zd Zy)CustomWebSocketHandlerc                    | j                   s7| j                  t        j                  ddi             | j	                          y | j                  t        j                  ddi             | j                  d       t        j                  j                  | j                  d      | _
        | j                  j                          y )NerrorzUnauthorized accessstatus	connectedTi  )current_userwrite_messagejsondumpscloseset_nodelaytornadoioloopPeriodicCallback	send_datacallbackstartselfs    \/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/jupyterlab_nvdashboard/apps/utils.pyopenzCustomWebSocketHandler.open   s      tzz74I*JKLJJL4::x&=>?77M    c                 $   t        j                  |      }|d   }t        | d      rj| j                  j	                          t
        j                  j                  | j                  |      | _        |d   s| j                  j                          y y y )NupdateFrequencyr   isPaused)
r   loadshasattrr   stopr   r   r   r   r   )r   messagemessage_datanew_frequencys       r   
on_messagez!CustomWebSocketHandler.on_message   sx    zz'*$%674$MM #NN;;DM  
+##% , %r   c                     t        | d      r6| j                  j                         r| j                  j                          y y y )Nr   )r    r   
is_runningr!   r   s    r   on_closezCustomWebSocketHandler.on_close   s4    4$)A)A)CMM  *D$r   c                      y )N r   s    r   r   z CustomWebSocketHandler.send_data#   s    r   N)__name__
__module____qualname__r   r%   r(   r   r*   r   r   r   r      s    	
&!r   r   )tornado.websocketr   jupyter_server.base.handlersr   r   r   r   r*   r   r   <module>r0      s     . 7  ^-= r   