summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2014-10-12 15:17:17 +0200
committerLV-426 <lv-426@taproot.org.il>2014-10-12 15:17:17 +0200
commit8e20a72f5cd0464f673a374e5a3741a58932e770 (patch)
treec1c6d759d4bff90b91df9bdcd0bce7ca8f7c0945
parent6a5c1acbeca40a374736d657d48beb33f0d32b27 (diff)
return DB_result_set when iterating over DB_op results
-rw-r--r--src-py/db_controller.py4
-rw-r--r--src-py/neo4j_util.py11
2 files changed, 14 insertions, 1 deletions
diff --git a/src-py/db_controller.py b/src-py/db_controller.py
index 3969a2bb..32d5a436 100644
--- a/src-py/db_controller.py
+++ b/src-py/db_controller.py
@@ -9,6 +9,7 @@ import traceback
import urllib2
import neo4j_util as dbu
+from neo4j_util import DB_result_set
log = logging.getLogger('rhizi')
@@ -50,7 +51,8 @@ class DB_op(object):
i = 0
if self.result_set:
for s in self.statement_set:
- yield (i, s, self.result_set[i])
+ rs = DB_result_set(self.result_set[i])
+ yield (i, s, rs)
i = i + 1
else:
for s in self.statement_set:
diff --git a/src-py/neo4j_util.py b/src-py/neo4j_util.py
index 6b78dc18..7c228dea 100644
--- a/src-py/neo4j_util.py
+++ b/src-py/neo4j_util.py
@@ -7,6 +7,17 @@ import urllib2
import model
import string
+class DB_result_set(object):
+ def __init__(self, data):
+ self.data = data
+
+ def __iter__(self):
+ for db_row_dict in self.data['data']:
+ # example: dict: {u'row': [{u'title': u'foo'}]}
+ assert None != db_row_dict['row'][0]
+
+ yield db_row_dict['row'][0]
+
class Cypher_String_Formatter(string.Formatter):
"""
Despite parameter support in Cypher, we sometimes do engage in query string building