o
    i&                     @   sX   d Z ddlZddlZddlZddlZddlmZ edZG dd dej	j
ejjZ
dS )zBase class to manage comms    N   )Commzipykernel.commc                   @   s:   e Zd ZdZedZe Ze Z	dd Z
dd ZdS )CommManagerzA comm manager.zipykernel.kernelbase.Kernelc                 K   s(   t jj|  tjjj| fi | dS )zInitialize the manager.N)comm	base_commr   __init__	traitletsconfigLoggingConfigurable)selfkwargs r   Q/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/ipykernel/comm/manager.pyr      s   zCommManager.__init__c           	      C   s   |d }|d }|d }| j |d}t|d|dd}| | |du r+td| nz||| W dS  tyD   tjd|d	d
 Y nw z|  W dS  ty]   tjdd	d
 Y dS 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   r   r   r   	comm_open   s6   

zCommManager.comm_openN)__name__
__module____qualname____doc__r   InstancekernelDictcommsr   r   r    r   r   r   r   r      s    
r   )r$   loggingcomm.base_commr   r   traitlets.configr   	getLoggerr   r   r   r	   r
   r   r   r   r   <module>   s    
