From: gregor herrmann Date: Thu, 9 Jul 2020 20:46:09 +0000 (+0200) Subject: wrap websocket connect attemot in try/except X-Git-Url: https://git.toastfreeware.priv.at/toast/stream2beamer.git/commitdiff_plain/1e95bf2a95412699c5da708332dba45dc114d629 wrap websocket connect attemot in try/except --- diff --git a/laplace_client.py b/laplace_client.py index 1b9c8f0..7378c62 100755 --- a/laplace_client.py +++ b/laplace_client.py @@ -160,27 +160,31 @@ class WebRTCClient: self.webrtc.emit('add-ice-candidate', sdpmlineindex, candidate) async def run(self): - async with websockets.connect(self.uri, ssl=self.ssl_context) as websocket: - self.websocket = websocket - self.start_pipeline() - async for msg in websocket: - msg_json = json.loads(msg) - msg_type = msg_json['Type'] - msg_value = msg_json['Value'] - session_id = msg_json['SessionID'] - log.info(f"receive for session {session_id} type {msg_type}") - if msg_type == 'newSession': - self.session_id = session_id - elif msg_type == 'gotOffer': - value_json = json.loads(msg_value) - sdp = value_json['sdp'] - self.handle_sdp(sdp) - elif msg_type == 'addCallerIceCandidate': - value_json = json.loads(msg_value) - self.handle_ice(value_json) - self.close_pipeline() - self.websocket = None - self.session_id = None + try: + async with websockets.connect(self.uri, ssl=self.ssl_context) as websocket: + self.websocket = websocket + self.start_pipeline() + async for msg in websocket: + msg_json = json.loads(msg) + msg_type = msg_json['Type'] + msg_value = msg_json['Value'] + session_id = msg_json['SessionID'] + log.info(f"receive for session {session_id} type {msg_type}") + if msg_type == 'newSession': + self.session_id = session_id + elif msg_type == 'gotOffer': + value_json = json.loads(msg_value) + sdp = value_json['sdp'] + self.handle_sdp(sdp) + elif msg_type == 'addCallerIceCandidate': + value_json = json.loads(msg_value) + self.handle_ice(value_json) + self.close_pipeline() + self.websocket = None + self.session_id = None + except: + log.error(f'Connection to "{self.uri}" failed') + sys.exit(1) def check_plugins():