From e978b71eb92ce375aacba4699e558c991f2cea56 Mon Sep 17 00:00:00 2001 From: LV-426 Date: Wed, 29 Apr 2015 17:44:16 +0300 Subject: DB_composed_op: reorder functions --- src/server/db_controller.py | 2 ++ src/server/db_op.py | 23 +++++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) (limited to 'src/server') diff --git a/src/server/db_controller.py b/src/server/db_controller.py index b627699d..5d3618ff 100644 --- a/src/server/db_controller.py +++ b/src/server/db_controller.py @@ -29,8 +29,10 @@ class DB_Controller: """ if isinstance(op, DB_composed_op): # composed DB op log.debug('exec_composed-op:' + op.name) + for sub_op in op.iter__sub_op(): sub_op_ret = self.exec_op(sub_op) # recursive call + op.inter_op_exec_hook(sub_op_ret) op_ret = op.process_result_set() return op_ret diff --git a/src/server/db_op.py b/src/server/db_op.py index 3f6e5901..2fc7cefc 100644 --- a/src/server/db_op.py +++ b/src/server/db_op.py @@ -153,29 +153,32 @@ class DB_composed_op(DB_op): def __assert_false_statement_access(self): assert False, "composed_op may not contain statements, only sub-ops" - def add_statement(self, query, query_params={}): - self.__assert_false_statement_access() + def __getattribute__(self, attr): + """ + intercept 'query_set' attr get + """ + if attr == 'query_set': + self.__assert_false_statement_access() - def add_sub_op(self, op): - self.sub_op_set.append(op) + return object.__getattribute__(self, attr) def __iter__(self): for s_op in self.sub_op_set: for dbq in s_op: yield dbq + def add_statement(self, query, query_params={}): + self.__assert_false_statement_access() + + def add_sub_op(self, op): + self.sub_op_set.append(op) + def iter__sub_op(self): for s_op in self.sub_op_set: yield s_op - def __getattribute__(self, attr): """ - intercept 'query_set' attr get """ - if attr == 'query_set': - self.__assert_false_statement_access() - - return object.__getattribute__(self, attr) def process_result_set(self): ret = [] -- cgit v1.3.1