diff options
| author | LV-426 <lv-426@taproot.org.il> | 2014-10-12 15:17:17 +0200 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2014-10-12 15:17:17 +0200 |
| commit | 8e20a72f5cd0464f673a374e5a3741a58932e770 (patch) | |
| tree | c1c6d759d4bff90b91df9bdcd0bce7ca8f7c0945 /src-py | |
| parent | 6a5c1acbeca40a374736d657d48beb33f0d32b27 (diff) | |
return DB_result_set when iterating over DB_op results
Diffstat (limited to 'src-py')
| -rw-r--r-- | src-py/db_controller.py | 4 | ||||
| -rw-r--r-- | src-py/neo4j_util.py | 11 |
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 |
