tornado_websockets.modules.module — Django-tornado-websockets 0.1.3 documentation

# Source code for tornado_websockets.modules.module

    from tornado_websockets.websocket import WebSocket

    class Module(object):
        def __init__(self, websocket, prefix=''):
            if not isinstance(websocket, WebSocket):
                raise ValueError('`websocket` parameter should be an instance of WebSocket class')

            self.websocket = websocket
            self.prefix = prefix

        def on(self, callback):
            """
                Shortcut for :meth:`tornado_websockets.websocket.WebSocket.on` decorator, but with a specific prefix for
                each module.

                :ction or a class method.
                :type callback: Callable
                :return: ``callback`` parameter.
            """

            callback.__name__ = self.prefix + callback.__name__

            return self.websocket.on(callback)

        def emit(self, event, data=None):
            """
                Shortcut for :meth:`tornado_websockets.websocket.WebSocket.emit` method, but with a specific prefix for
                each module.
            """

            return self.websocket.emit(self.prefix + event, data)