diff --git a/goblin/api.py b/goblin/api.py index f5faec2de8bae608a5768c6792b7950e9dc4c1ed..2771d0e3adfe3e113ea8f8582aef01488bd82cc4 100644 --- a/goblin/api.py +++ b/goblin/api.py @@ -155,17 +155,17 @@ class Session: def _get_vertex_by_id(self, element): traversal = self.g.V(element.id) - return self._parse_traversal(traversal) + return query.parse_traversal(traversal) def _get_edge_by_id(self, element): traversal = self.g.E(element.id) - return self._parse_traversal(traversal) + return query.parse_traversal(traversal) def _create_vertex(self, element): props = mapper.map_props_to_db(element, element.__mapping__) traversal = self.g.addV(element.__mapping__.label) traversal = self._add_properties(traversal, props) - return self._parse_traversal(traversal) + return query.parse_traversal(traversal) def _update_vertex(self, element): raise NotImplementedError @@ -176,7 +176,7 @@ class Session: traversal = traversal.addE(element.__mapping__._label) traversal = traversal.to(self.g.V(element.target.id)) traversal = self._add_properties(traversal, props) - return self._parse_traversal(traversal) + return query.parse_traversal(traversal) def _update_edge(self, element): raise NotImplementedError @@ -189,11 +189,6 @@ class Session: self._binding = 0 return traversal - def _parse_traversal(self, traversal): - script = traversal.translator.traversal_script - bindings = traversal.bindings - return script, bindings - async def commit(self): raise NotImplementedError diff --git a/goblin/query.py b/goblin/query.py index 8d3ab1ed66dc5603fada06b5e6837a6241c85f53..7c49515ca66db96626f8189c40bedbfac09f65bc 100644 --- a/goblin/query.py +++ b/goblin/query.py @@ -1,3 +1,11 @@ +"""Query API and helpers""" + + +def parse_traversal(traversal): + script = traversal.translator.traversal_script + bindings = traversal.bindings + return script, bindings + class Query: def __init__(self, session, element_class): @@ -18,9 +26,9 @@ class Query: # Methods that issue a query async def all(self): - script = self._traversal.translator.traversal_script + script, bindings = parse_traversal(self._traversal) stream = await self._engine.execute( - script, bindings=self._traversal.bindings) + script, bindings=bindings) # This should return and async iterator wrapper that can see and update # parent session object, but for the demo it works return stream