diff options
| author | LV-426 <lv-426@taproot.org.il> | 2015-01-20 17:49:11 +0200 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2015-01-20 17:49:11 +0200 |
| commit | a33f9cd67e5b7ed1eafd99ddfcd81d00f8cf795e (patch) | |
| tree | e53fd5d007035889ca81f2a7a08c1d66c91ccc19 /src/server/rz_kernel.py | |
| parent | 4e41fd46d2907308e832f7483820711ab0add6b1 (diff) | |
mv DBO_block_chain__commit() op execution handling to kernel
Diffstat (limited to 'src/server/rz_kernel.py')
| -rw-r--r-- | src/server/rz_kernel.py | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/server/rz_kernel.py b/src/server/rz_kernel.py index 925ebeaf..a4280faa 100644 --- a/src/server/rz_kernel.py +++ b/src/server/rz_kernel.py @@ -1,19 +1,32 @@ """ Rhizi kernel, home to core operation login """ +import json import logging import traceback import db_controller -from db_op import DBO_diff_commit__attr +from db_op import DBO_diff_commit__attr, DBO_block_chain__commit from db_op import DBO_diff_commit__topo +from model.graph import Topo_Diff log = logging.getLogger('rhizi') class RZ_Kernel(object): - def diff_commit__topo(self, topo_diff): + def exec_chain_commit_op(self, diff_obj, ctx): + + # FIXME: clean + if isinstance(diff_obj, Topo_Diff): + blob = json.dumps(diff_obj.to_json_dict()) + else: + blob = json.dumps(diff_obj) + + chain_commit_op = DBO_block_chain__commit(blob, commit_obj=diff_obj, ctx=ctx) + self.db_ctl.exec_op(chain_commit_op) + + def diff_commit__topo(self, topo_diff, ctx=None): """ commit a graph topology diff - this is a common pathway for: - RESP API calls @@ -25,13 +38,16 @@ class RZ_Kernel(object): op = DBO_diff_commit__topo(topo_diff) try: op_ret = self.db_ctl.exec_op(op) + + self.exec_chain_commit_op(topo_diff, ctx) + return topo_diff, op_ret except Exception as e: log.error(e.message) log.error(traceback.print_exc()) raise e - def diff_commit__attr(self, attr_diff): + def diff_commit__attr(self, attr_diff, ctx=None): """ commit a graph attribute diff - this is a common pathway for: - RESP API calls @@ -43,6 +59,9 @@ class RZ_Kernel(object): op = DBO_diff_commit__attr(attr_diff) try: op_ret = self.db_ctl.exec_op(op) + + self.exec_chain_commit_op(attr_diff, ctx) + return attr_diff, op_ret except Exception as e: log.error(e.message) |
