B
    ןEf                 @   sH   d dl T d dlmZmZ d dlmZmZ d dlmZ G dd deZ	dS )    )*)	Namespace	join_room)before_requestcmf_context)commit_all_dsc                   s:   e Zd ZdZ fddZdd Zdd Zdd	d
Z  ZS )CmfMainNamespaceu   
    Отправляем события на прокси скрипт, uwsgi не поддерживает socketio-client
    c                sb   t ddN ytt| j|f| }|S  tk
rR } zt|  W d d }~X Y nX W d Q R X d S )NF)Zinit_views_and_ds)r   superr   trigger_event	Exceptionr   )selfZeventargsZrese)	__class__ ../cmf/modules/socketio/views/main_namespace.pyr
      s    zCmfMainNamespace.trigger_eventc             O   s<   t   tdtj d tjtjkr0td ntd d S )Nu0   Подключение пользователя u    к сокету /ZpublicZprivate)r   gdebugZcurrent_personZanonymous_userr   )r   r   kwargsr   r   r   
on_connect   s
    
zCmfMainNamespace.on_connectc             O   s   d S )Nr   )r   r   r   r   r   r   on_disconnect   s    zCmfMainNamespace.on_disconnectNc             C   s   dS )uZ   
        Вручную подключаться к комнатам нельзя
        Nr   )r   ZsidZroom	namespacer   r   r   
enter_room   s    zCmfMainNamespace.enter_room)N)	__name__
__module____qualname____doc__r
   r   r   r   __classcell__r   r   )r   r   r      s
   	r   N)
Zcmf.includeZflask_socketior   r   Zcmf.appr   r   Zcmf.data_providers.baser   r   r   r   r   r   <module>   s   