From 75d18eb9f7a79852a015998507735cc4088a2fd7 Mon Sep 17 00:00:00 2001 From: davebshow <davebshow@gmail.com> Date: Sun, 3 Jul 2016 01:12:40 -0400 Subject: [PATCH] moved _parse_traversal to query as a util func --- goblin/api.py | 13 ++++--------- goblin/query.py | 12 ++++++++++-- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/goblin/api.py b/goblin/api.py index f5faec2..2771d0e 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 8d3ab1e..7c49515 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 -- GitLab