class EventClient(WebSocketClient):
def __init__(self, url, filters, on_event):
class EventClient(WebSocketClient):
def __init__(self, url, filters, on_event):
def received_message(self, m):
self.on_event(json.loads(str(m)))
def received_message(self, m):
self.on_event(json.loads(str(m)))
- url = "{}?api_token={}".format(api._rootDesc['websocketUrl'], config.get('ARVADOS_API_TOKEN'))
- ws = EventClient(url, filters, on_event)
- ws.connect()
- return ws
+ ws = None
+ try:
+ url = "{}?api_token={}".format(api._rootDesc['websocketUrl'], config.get('ARVADOS_API_TOKEN'))
+ ws = EventClient(url, filters, on_event)
+ ws.connect()
+ return ws
+ except Exception:
+ if (ws):
+ ws.close_connection()
+ raise