summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-01-05 20:25:55 +0200
committerLV-426 <lv-426@taproot.org.il>2015-01-06 17:30:14 +0200
commit79ff42a526b1e8c33ae0032f09a09b2261934e8a (patch)
tree6687561cbdbab0dc4c05060db425d8a3b7a85eea /src/server
parent74deb4a3121ed5b0817c00e5c880c0721bd3020b (diff)
mv statement_to_REST_form() into REST DB driver
Diffstat (limited to 'src/server')
-rw-r--r--src/server/db_driver.py2
-rw-r--r--src/server/db_op.py1
-rw-r--r--src/server/neo4j_util.py34
3 files changed, 22 insertions, 15 deletions
diff --git a/src/server/db_driver.py b/src/server/db_driver.py
index fea1b505..6a1c4ee1 100644
--- a/src/server/db_driver.py
+++ b/src/server/db_driver.py
@@ -45,7 +45,7 @@ class DB_Driver_REST(DB_Driver_Base):
#
# [!] neo4j seems picky about receiving an additional empty statement list
#
- data = data = db_util.statement_set_to_REST_form([])
+ data = db_util.statement_set_to_REST_form(op.statement_set)
ret = db_util.post_neo4j(tx_open_url, data)
tx_commit_url = ret['commit']
op.parse_tx_id(tx_commit_url)
diff --git a/src/server/db_op.py b/src/server/db_op.py
index db95d8c2..60e648ab 100644
--- a/src/server/db_op.py
+++ b/src/server/db_op.py
@@ -6,6 +6,7 @@ from model.graph import Topo_Diff
from neo4j_util import DB_result_set
from neo4j_util import cfmt
import neo4j_util as db_util
+from neo4j_util import DB_Query
import hashlib
class DB_op(object):
diff --git a/src/server/neo4j_util.py b/src/server/neo4j_util.py
index 3ec9b857..ee047b69 100644
--- a/src/server/neo4j_util.py
+++ b/src/server/neo4j_util.py
@@ -124,24 +124,30 @@ def post(url, data):
return ret
-def statement_to_REST_form(query, parameters={}):
- """
- turn cypher query to neo4j json API format
- """
- assert isinstance(query, six.string_types)
+def statement_set_to_REST_form(statement_set):
+ assert isinstance(statement_set, list)
- if isinstance(parameters, list):
- for v in parameters:
- assert isinstance(v, dict)
- else:
- assert isinstance(parameters, dict)
+ def _adapt_single_statement_to_REST_form(query, parameters={}):
+ """
+ turn cypher query to neo4j json API format
+ """
+ assert isinstance(query, six.string_types)
- return {'statement' : query, 'parameters': parameters}
+ if isinstance(parameters, list):
+ for v in parameters:
+ assert isinstance(v, dict)
+ else:
+ assert isinstance(parameters, dict)
-def statement_set_to_REST_form(statement_set):
- assert isinstance(statement_set, list)
+ return {'statement' : query, 'parameters': parameters}
+
+ rest_statement_set = []
+ for db_query in statement_set:
+ rest_statement = _adapt_single_statement_to_REST_form(db_query.statement,
+ db_query.param_set)
+ rest_statement_set.append(rest_statement)
- return {'statements': statement_set}
+ return {'statements': rest_statement_set}
def gen_clause_attr_filter_from_filter_attr_map(filter_attr_map, node_label="n"):
if not filter_attr_map: