diff --git a/goblin/session.py b/goblin/session.py index 7e5cd641610d0f958c9c29204d870998d3a67d89..61a41fe2bf0d0e1b9ee263b9a92b4511bd62d0b8 100644 --- a/goblin/session.py +++ b/goblin/session.py @@ -18,6 +18,7 @@ from gremlin_python.structure.graph import Edge, Vertex # type: ignore from goblin import exception, mapper from goblin.element import GenericEdge, GenericVertex, VertexProperty, ImmutableMode, LockingMode from goblin.manager import VertexPropertyManager +import traceback logger = logging.getLogger(__name__) @@ -158,6 +159,10 @@ class Session: msg = Message(200, result, '') result_set.queue_result(msg) except Exception as e: + print("Exception caught, will show up as a msg, traceback here:") + print(e) + for line in traceback.format_stack(): + print(line.strip()) msg = Message(500, None, e.args[0]) result_set.queue_result(msg) finally: @@ -172,12 +177,12 @@ class Session: current = self.current.get(hashable_id, None) if isinstance(obj, Vertex): # why doesn't this come in on the vertex? - label = await self._g.V(obj.id).label().next() + label = await self._g.V(hashable_id).label().next() if not current: current = self.app.vertices.get(label, GenericVertex)() - props = await self._get_vertex_properties(obj.id, label) + props = await self._get_vertex_properties(hashable_id, label) if isinstance(obj, Edge): - props = await self._g.E(obj.id).valueMap(True).next() + props = await self._g.E(hashable_id).valueMap(True).next() if not current: current = self.app.edges.get( props.get('label'), GenericEdge)()