From e48a4f887239c87b168fb382524fb2672bb77606 Mon Sep 17 00:00:00 2001 From: davebshow <davebshow@gmail.com> Date: Sun, 3 Jul 2016 01:48:19 -0400 Subject: [PATCH] polishing --- goblin/api.py | 6 ++++++ goblin/query.py | 5 +++++ tests/test_engine.py | 3 +-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/goblin/api.py b/goblin/api.py index 2771d0e..27df06a 100644 --- a/goblin/api.py +++ b/goblin/api.py @@ -153,10 +153,16 @@ class Session: await stream.close() return mapper_func(result.data[0], element, element.__mapping__) + async def get_vertex_by_id(self, element): + pass + def _get_vertex_by_id(self, element): traversal = self.g.V(element.id) return query.parse_traversal(traversal) + async def get_edge_by_id(self, element): + pass + def _get_edge_by_id(self, element): traversal = self.g.E(element.id) return query.parse_traversal(traversal) diff --git a/goblin/query.py b/goblin/query.py index 7c49515..12af826 100644 --- a/goblin/query.py +++ b/goblin/query.py @@ -1,4 +1,5 @@ """Query API and helpers""" +from goblin import mapper def parse_traversal(traversal): @@ -6,17 +7,21 @@ def parse_traversal(traversal): bindings = traversal.bindings return script, bindings + class Query: def __init__(self, session, element_class): self._session = session self._engine = session.engine + self._element_class = element_class if element_class.__type__ == 'vertex': self._traversal = self._session.g.V().hasLabel( element_class.__mapping__.label) + self._mapper = mapper.map_vertex_to_ogm elif element_class.__type__ == 'edge': self._traversal = self._session.g.E().hasLabel( element_class.__mapping__.label) + self._mapper = mapper.map_edge_to_ogm else: raise Exception("unknown element type") diff --git a/tests/test_engine.py b/tests/test_engine.py index 5cdfacc..4081dd6 100644 --- a/tests/test_engine.py +++ b/tests/test_engine.py @@ -50,12 +50,11 @@ class TestEngine(unittest.TestCase): leif.name = 'leifur' jon = TestVertex() jon.name = 'jonathan' - session.add(leif, jon) works_for = TestEdge() works_for.source = jon works_for.target = leif works_for.notes = 'zerofail' - session.add(works_for) + session.add(leif, jon, works_for) await session.flush() current = session._current[works_for.id] self.assertEqual(current.notes, 'zerofail') -- GitLab