U
    b;d                     @   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                    sp   t dd\ z(tt| j|f| }|W W  5 Q R  S  tk
r` } zt|  W 5 d }~X Y nX W 5 Q R X d S )NF)Zinit_views_and_ds)r   superr   trigger_event	Exceptionr   )selfZeventargs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   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   