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