From 8921b3e5c168cbb43dea4fe71466dcd21c532403 Mon Sep 17 00:00:00 2001 From: LV-426 Date: Mon, 30 Mar 2015 18:20:16 +0300 Subject: dedicated Req_Context class, avoid dict key access --- src/server/db_op.py | 2 +- src/server/rz_api_rest.py | 15 +++++++++++++-- src/server/rz_kernel.py | 8 ++------ 3 files changed, 16 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/server/db_op.py b/src/server/db_op.py index 8e9ac9a1..9d55fe52 100644 --- a/src/server/db_op.py +++ b/src/server/db_op.py @@ -246,7 +246,7 @@ class DBO_block_chain__commit(DB_op): if None == ctx or None == ctx.get('user_name'): return - q_arr = ['merge (n:__USER {user_name: \'%s\'})' % ctx.get('user_name'), + q_arr = ['merge (n:__USER {user_name: \'%s\'})' % (ctx.user_name), 'with n', 'match (m:__HEAD)', # FIXME: specify commit-label index 'create (m)-[r:`__Authored-by`]->(n)', diff --git a/src/server/rz_api_rest.py b/src/server/rz_api_rest.py index e4ea98b9..3decfda3 100644 --- a/src/server/rz_api_rest.py +++ b/src/server/rz_api_rest.py @@ -35,14 +35,25 @@ log = logging.getLogger('rhizi') db_ctl = None # injected: DB controller def __context__common(rzdoc_id=None): +class Req_Context(): + """ + Request context: + - user_name + - rzdoc + """ + + def __init__(self): + self.user_name = None + self.rzdoc = None + """ build a common rquest context to pass along with a kernel diff commit: - set user_name """ - ret = {} + ret = Req_Context() if session.has_key('username'): - ret['user_name'] = session['username'] + ret.user_name = session['username'] ret['rzdoc_id'] = rzdoc_id return ret diff --git a/src/server/rz_kernel.py b/src/server/rz_kernel.py index 84c7d0da..96828dbb 100644 --- a/src/server/rz_kernel.py +++ b/src/server/rz_kernel.py @@ -46,9 +46,7 @@ class RZ_Kernel(object): @return: a tuple containing the input diff and the result of it's commit """ - rzdoc_id = ctx.get('rzdoc_id') - assert rzdoc_id, 'diff_commit__topo: missing doc id' - + rzdoc = ctx.rzdoc op = DBO_diff_commit__topo(topo_diff) op = QT_RZDOC_NS_Filter(rzdoc)(op) @@ -72,9 +70,7 @@ class RZ_Kernel(object): @return: a tuple containing the input diff and the result of it's commit """ - rzdoc_id = ctx.get('rzdoc_id') - assert rzdoc_id, 'diff_commit__topo: missing doc id' - + rzdoc = ctx.rzdoc op = DBO_diff_commit__attr(attr_diff) op = QT_RZDOC_NS_Filter(rzdoc)(op) -- cgit v1.3.1