
    2Bf                     &    d dl mZ  G d de      Zy)    )	Namespacec                   L     e Zd Zd fd	Zd Zd Z	 	 ddZ	 	 d	dZddZ xZ	S )
r   c                 :    t         t        |   |       d | _        y N)superr   __init__socketio)self	namespace	__class__s     X/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/flask_socketio/namespace.pyr   zNamespace.__init__   s    i'	2    c                     || _         y r   )r	   )r
   r	   s     r   _set_socketiozNamespace._set_socketio	   s	     r   c                     d|z   }t        | |      syt        | |      } | j                  j                  ||| j                  g| S )ab  Dispatch an event to the proper handler method.

        In the most common usage, this method is not overloaded by subclasses,
        as it performs the routing of events to methods. However, this
        method can be overridden if special dispatching rules are needed, or if
        having a single method that catches all events is desired.
        on_N)hasattrgetattrr	   _handle_eventr   )r
   eventargshandler_namehandlers        r   trigger_eventzNamespace.trigger_event   sQ     u}t\*$-*t}}**7E4>> 2,02 	2r   c                 `    | j                   j                  |||||xs | j                  |      S )z5Emit a custom event to one or more connected clients.roominclude_selfr   callback)r	   emitr   )r
   r   datar   r   r   r   s          r   r    zNamespace.emit   s8     }}!!%D/;,5,G+3 " 5 	5r   c                 ^    | j                   j                  ||||xs | j                  |      S )z0Send a message to one or more connected clients.r   )r	   sendr   )r
   r!   r   r   r   r   s         r   r#   zNamespace.send$   s5     }}!!$T,5,G+3 " 5 	5r   c                 X    | j                   j                  ||xs | j                        S )zClose a room.)r   r   )r	   
close_roomr   )r
   r   r   s      r   r%   zNamespace.close_room+   s.    }}''T2;2Mt~~ ( O 	Or   r   )NNTNN)NTNN)
__name__
__module____qualname__r   r   r   r    r#   r%   __classcell__)r   s   @r   r   r      s5    !2  >B&*5 BF5Or   r   N)r	   r   
_Namespace r   r   <module>r,      s    ,*O
 *Or   