devtools/repotest.py
changeset 9467 ad66d7b3fd48
parent 9460 a2a0bc984863
child 9468 39b7a91a3f4c
equal deleted inserted replaced
9466:c3a5f4507f12 9467:ad66d7b3fd48
   330         sortedvariantes.append( (orderedkeys, variante) )
   330         sortedvariantes.append( (orderedkeys, variante) )
   331     return [v for ok, v in sorted(sortedvariantes)]
   331     return [v for ok, v in sorted(sortedvariantes)]
   332 
   332 
   333 from cubicweb.server.querier import ExecutionPlan
   333 from cubicweb.server.querier import ExecutionPlan
   334 _orig_check_permissions = ExecutionPlan._check_permissions
   334 _orig_check_permissions = ExecutionPlan._check_permissions
   335 _orig_init_temp_table = ExecutionPlan.init_temp_table
       
   336 
   335 
   337 def _check_permissions(*args, **kwargs):
   336 def _check_permissions(*args, **kwargs):
   338     res, restricted = _orig_check_permissions(*args, **kwargs)
   337     res, restricted = _orig_check_permissions(*args, **kwargs)
   339     res = DumbOrderedDict(sorted(res.iteritems(), lambda a, b: cmp(a[1], b[1])))
   338     res = DumbOrderedDict(sorted(res.iteritems(), lambda a, b: cmp(a[1], b[1])))
   340     return res, restricted
   339     return res, restricted
   341 
   340 
   342 def _dummy_check_permissions(self, rqlst):
   341 def _dummy_check_permissions(self, rqlst):
   343     return {(): rqlst.solutions}, set()
   342     return {(): rqlst.solutions}, set()
   344 
       
   345 def _init_temp_table(self, table, selection, solution):
       
   346     if self.tablesinorder is None:
       
   347         tablesinorder = self.tablesinorder = {}
       
   348     else:
       
   349         tablesinorder = self.tablesinorder
       
   350     if not table in tablesinorder:
       
   351         tablesinorder[table] = 'table%s' % len(tablesinorder)
       
   352     return _orig_init_temp_table(self, table, selection, solution)
       
   353 
   343 
   354 from cubicweb.server import rqlannotation
   344 from cubicweb.server import rqlannotation
   355 _orig_select_principal = rqlannotation._select_principal
   345 _orig_select_principal = rqlannotation._select_principal
   356 
   346 
   357 def _select_principal(scope, relations):
   347 def _select_principal(scope, relations):
   389     rqlrewrite.iter_relations = _ordered_iter_relations
   379     rqlrewrite.iter_relations = _ordered_iter_relations
   390     rqlrewrite.RQLRewriter.insert_snippets = _insert_snippets
   380     rqlrewrite.RQLRewriter.insert_snippets = _insert_snippets
   391     rqlrewrite.RQLRewriter.build_variantes = _build_variantes
   381     rqlrewrite.RQLRewriter.build_variantes = _build_variantes
   392     ExecutionPlan._check_permissions = _check_permissions
   382     ExecutionPlan._check_permissions = _check_permissions
   393     ExecutionPlan.tablesinorder = None
   383     ExecutionPlan.tablesinorder = None
   394     ExecutionPlan.init_temp_table = _init_temp_table
       
   395 
   384 
   396 def undo_monkey_patch():
   385 def undo_monkey_patch():
   397     rqlrewrite.iter_relations = _orig_iter_relations
   386     rqlrewrite.iter_relations = _orig_iter_relations
   398     rqlrewrite.RQLRewriter.insert_snippets = _orig_insert_snippets
   387     rqlrewrite.RQLRewriter.insert_snippets = _orig_insert_snippets
   399     rqlrewrite.RQLRewriter.build_variantes = _orig_build_variantes
   388     rqlrewrite.RQLRewriter.build_variantes = _orig_build_variantes
   400     ExecutionPlan._check_permissions = _orig_check_permissions
   389     ExecutionPlan._check_permissions = _orig_check_permissions
   401     ExecutionPlan.init_temp_table = _orig_init_temp_table