diff options
| author | LV-426 <lv-426@taproot.org.il> | 2015-01-05 20:25:55 +0200 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2015-01-06 17:30:14 +0200 |
| commit | 79ff42a526b1e8c33ae0032f09a09b2261934e8a (patch) | |
| tree | 6687561cbdbab0dc4c05060db425d8a3b7a85eea | |
| parent | 74deb4a3121ed5b0817c00e5c880c0721bd3020b (diff) | |
mv statement_to_REST_form() into REST DB driver
| -rw-r--r-- | src/server/db_driver.py | 2 | ||||
| -rw-r--r-- | src/server/db_op.py | 1 | ||||
| -rw-r--r-- | src/server/neo4j_util.py | 34 |
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: |
