
    bi&                         d Z ddlZddlZddlZddlZddlmZ  ej                  d      Z G d dej                  j                  ej                  j                        Z
y)zBase class to manage comms    N   )Commzipykernel.commc                       e Zd ZdZ ej
                  d      Z ej                         Z ej                         Z	d Z
d Zy)CommManagerzA comm manager.zipykernel.kernelbase.Kernelc                     t         j                  j                  j                  |        t	        j
                  j                  j                  | fi | y)zInitialize the manager.N)comm	base_commr   __init__	traitletsconfigLoggingConfigurable)selfkwargss     Q/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/ipykernel/comm/manager.pyr
   zCommManager.__init__   s;     	""++D1,,55dEfE    c                    |d   }|d   }|d   }| j                   j                  |d      }t        |d|d      }| j                  |       |t        j                  d|       n	  |||       y	  |j                          y# t        $ r t        j                  d|d	
       Y 6w xY w# t        $ r t        j                  dd	
       Y yw xY w)zHandler for comm_open messagescontentcomm_idtarget_nameNF)r   primaryr   show_warningz"No such comm target registered: %sz&Exception opening comm with target: %sT)exc_infozqCould not close comm during `comm_open` failure
                clean-up.  The comm may not have been opened yet.)targetsgetr   register_commloggererror	Exceptionclose)	r   streamidentmsgr   r   r   fr   s	            r   	comm_openzCommManager.comm_open   s     i.)$m,LL[$/#	
 	4 9LL={Kc$
	DJJL  cE{]abc  	LLE  	s$   &	B 1B* !B'&B'* CCN)__name__
__module____qualname____doc__r   InstancekernelDictcommsr   r
   r$    r   r   r   r      s?    Y =>FINNEinnGF r   r   )r(   loggingcomm.base_commr   r   traitlets.configr   	getLoggerr   r	   r   r   r   r-   r   r   <module>r2      sP     
     			+	,-$..,,i.>.>.R.R -r   