summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-01-11 18:27:00 +0200
committerLV-426 <lv-426@taproot.org.il>2015-01-11 18:30:43 +0200
commitf0712cf58df21ccf2c3bfea22d735716a96a1e80 (patch)
tree882d3bde0679e0c475f1e1292765eee51496387d /src/server
parente6e286bc3de9ea3425ad105e845787b29a54a9f6 (diff)
rz_api_websocket: object serialization, error handling
Diffstat (limited to 'src/server')
-rw-r--r--src/server/rz_api_websocket.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/server/rz_api_websocket.py b/src/server/rz_api_websocket.py
index 73dbccad..c61525f2 100644
--- a/src/server/rz_api_websocket.py
+++ b/src/server/rz_api_websocket.py
@@ -2,9 +2,13 @@
Rhizi websocket web API
"""
+import json
import logging
from socketio.mixins import BroadcastMixin
from socketio.namespace import BaseNamespace
+import traceback
+
+from model.graph import Attr_Diff, Topo_Diff
log = logging.getLogger('rhizi')
@@ -33,7 +37,8 @@ class WebSocket_Graph_NS(BaseNamespace, BroadcastMixin):
def recv_disconnect(self):
self._log_conn('conn close')
- def on_diff_commit__topo(self, topo_diff):
+ def on_diff_commit__topo(self, json_str):
+ topo_diff = Topo_Diff.from_json_dict(json.loads(json_str))
log.info('ws: rx: topo diff: ' + str(topo_diff))
kernel = self.request.kernel
@@ -41,10 +46,11 @@ class WebSocket_Graph_NS(BaseNamespace, BroadcastMixin):
topo_diff_ret = kernel.diff_commit__topo(topo_diff)
self.multicast_msg('diff_commit__topo', topo_diff_ret)
except Exception as e:
- # TODO handle exception
- pass
+ log.error(e.message)
+ log.error(traceback.print_exc())
- def on_diff_commit__attr(self, attr_diff):
+ def on_diff_commit__attr(self, json_str):
+ attr_diff = Attr_Diff.from_json_dict(json.loads(json_str))
log.info('ws: rx: attr diff: ' + str(attr_diff))
kernel = self.request.kernel
@@ -52,5 +58,5 @@ class WebSocket_Graph_NS(BaseNamespace, BroadcastMixin):
attr_diff_ret = kernel.diff_commit__attr(attr_diff)
self.multicast_msg('diff_commit__attr', attr_diff_ret)
except Exception as e:
- # TODO handle exception
- pass
+ log.error(e.message)
+ log.error(traceback.print_exc())