
    Ti                     p    d dl mZmZ d dlZd dlmZmZ dededz  deeef   fdZdedeeef   fdZ	d	 Z
y)
    )sioget_all_socket_idsN)AnyDict
session_id	canvas_ideventc                    K   t               }|r.	 |D ]'  }t        j                  d|| d||       d {    ) y y 7 # t        $ r/}t	        d|  d|        t        j                          Y d }~y d }~ww xY ww)Nsession_update)r   r   )roomz&Error broadcasting session update for z: )r   r   emit	Exceptionprint	traceback	print_exc)r   r   r	   
socket_ids	socket_ides         T/home/jay/workspace/tools/ai-image-gen/jaaz-app/server/services/websocket_service.pybroadcast_session_updater      s     #%J		"' #	hh/!*",2 2 "	# # ## #
  	"::,bLM!!	"s;   A;%A  >A  A;A   	A8	%A3.A;3A88A;c                 :   K   t        | d |       d {    y 7 w)N)r   )r   r	   s     r   send_to_websocketr      s     
":tU
;;;s   c                     K   	 t        j                  dddi       d {    t        d       y 7 # t        $ r,} t        d|         t	        j
                          Y d } ~ y d } ~ ww xY ww)N	init_donetypez$Broadcasted init_done to all clientszError broadcasting init_done: )r   r   r   r   r   r   )r   s    r   broadcast_init_doner      sm     hh{K%
  	 	 	45	  .qc23s6   A*2 02 A*2 	A'"A"A*"A''A*)services.websocket_stater   r   r   typingr   r   strr   r   r        r   <module>r"      sY    <  "s "sTz "RVWZ\_W_R` "$< <DcN <r!   