From 957076abcebb5dc898852b6c58733fa0b408b008 Mon Sep 17 00:00:00 2001 From: LV-426 Date: Mon, 20 Oct 2014 19:31:06 +0200 Subject: Neo4JException --- src-py/db_controller.py | 14 ++++++++++---- src-py/neo4j_util.py | 7 +++++++ 2 files changed, 17 insertions(+), 4 deletions(-) (limited to 'src-py') diff --git a/src-py/db_controller.py b/src-py/db_controller.py index 875eb0bc..7cd1af7b 100644 --- a/src-py/db_controller.py +++ b/src-py/db_controller.py @@ -351,15 +351,21 @@ class DB_Driver_REST(DB_Driver_Base): except Exception as e: raise Exception('failed to open transaction:' + e.message) - def exex_op_statements(self, op): + def exec_statement_set(self, op): + tx_url = "{0}/{1}".format(self.tx_base_url, op.tx_id) statement_set = db_util.statement_set_to_REST_form(op.statement_set) try: - ret = db_util.post_neo4j(tx_url, statement_set) - op._assign_results_errors(ret) + post_ret = db_util.post_neo4j(tx_url, statement_set) + op.result_set = post_ret['results'] + op.error_set = post_ret['errors'] + if 0 != len(op.error_set): + raise Neo4JException(op.error_set) + self.log_committed_queries(statement_set) - return ret + except Neo4JException as e: + raise e except Exception as e: raise Exception('failed exec op statements: err: {0}, url: {1}'.format(e.message, tx_url)) diff --git a/src-py/neo4j_util.py b/src-py/neo4j_util.py index 8d70ced9..5b7cfee7 100644 --- a/src-py/neo4j_util.py +++ b/src-py/neo4j_util.py @@ -7,6 +7,13 @@ import urllib2 import model import string +class Neo4JException(Exception): + def __init__(self, error_set): + self.error_set = error_set + + def __str__(self): + return 'neo4j error set: ' + str(self.error_set) + class DB_row(object): def __init__(self, data): self.data = data -- cgit v1.3.1