Source code for paradrop.backend.status_sockjs

import json
from twisted.internet.protocol import Protocol, Factory

from paradrop.base.output import out


[docs]class StatusSockJSProtocol(Protocol): def __init__(self, factory): self.factory = factory
[docs] def connectionMade(self): self.factory.transports.add(self.transport) out.info('sockjs /status connected')
[docs] def dataReceived(self, data): if (data == 'refresh'): status = self.factory.system_status.getStatus() self.transport.write(json.dumps(status))
[docs] def connectionLost(self, reason): if self.transport in self.factory.transports: self.factory.transports.remove(self.transport) out.info('sockjs /status disconnected')
[docs]class StatusSockJSFactory(Factory): def __init__(self, system_status): self.system_status = system_status self.transports = set()
[docs] def buildProtocol(self, addr): return StatusSockJSProtocol(self)