Decorator to register an event handler. This is a simplified version of the ``on()`` method that takes the event name from the decorated function. Example usage:: @sio.event def my_event(data): print('Received data: ', data)
(self, *args, **kwargs)
| 130 | set_handler(handler) |
| 131 | |
| 132 | def event(self, *args, **kwargs): |
| 133 | """Decorator to register an event handler. |
| 134 | |
| 135 | This is a simplified version of the ``on()`` method that takes the |
| 136 | event name from the decorated function. |
| 137 | |
| 138 | Example usage:: |
| 139 | |
| 140 | @sio.event |
| 141 | def my_event(data): |
| 142 | print('Received data: ', data) |
| 143 | |
| 144 | The above example is equivalent to:: |
| 145 | |
| 146 | @sio.on('my_event') |
| 147 | def my_event(data): |
| 148 | print('Received data: ', data) |
| 149 | |
| 150 | A custom namespace can be given as an argument to the decorator:: |
| 151 | |
| 152 | @sio.event(namespace='/test') |
| 153 | def my_event(data): |
| 154 | print('Received data: ', data) |
| 155 | """ |
| 156 | if len(args) == 1 and len(kwargs) == 0 and callable(args[0]): |
| 157 | # the decorator was invoked without arguments |
| 158 | # args[0] is the decorated function |
| 159 | return self.on(args[0].__name__)(args[0]) |
| 160 | else: |
| 161 | # the decorator was invoked with arguments |
| 162 | def set_handler(handler): |
| 163 | return self.on(handler.__name__, *args, **kwargs)(handler) |
| 164 | |
| 165 | return set_handler |
| 166 | |
| 167 | def register_namespace(self, namespace_handler): |
| 168 | """Register a namespace handler object. |