o
    š©Zh&  ã                   @   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   úM/var/www/html/lang_env/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   Z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   Z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   ÚInstanceZkernelÚDictZcommsr   r   r   r   r   r   r   r      s    
r   )r"   ÚloggingZcomm.base_commr   r   Ztraitlets.configr   Ú	getLoggerr   r   r   r	   r
   r   r   r   r   Ú<module>   s    
