if d_search:
idref = _get_idref(self, cr, self.uid, d_model, context={}, idref={})
- ids = self.pool[d_model].search(cr, self.uid, unsafe_eval(d_search, idref))
+ try:
- ids = self.pool.get(d_model).search(cr, self.uid, unsafe_eval(d_search, idref))
++ ids = self.pool[d_model].search(cr, self.uid, unsafe_eval(d_search, idref))
+ except ValueError:
+ _logger.warning('Skipping deletion for failed search `%r`', d_search, exc_info=True)
+ pass
if d_id:
try:
ids.append(self.id_get(cr, d_id))
- except:
+ except ValueError:
# d_id cannot be found. doesn't matter in this case
+ _logger.warning('Skipping deletion for missing XML ID `%r`', d_id, exc_info=True)
pass
if ids:
- self.pool.get(d_model).unlink(cr, self.uid, ids)
+ self.pool[d_model].unlink(cr, self.uid, ids)
def _remove_ir_values(self, cr, name, value, model):
- ir_values_obj = self.pool.get('ir.values')
+ ir_values_obj = self.pool['ir.values']
ir_value_ids = ir_values_obj.search(cr, self.uid, [('name','=',name),('value','=',value),('model','=',model)])
if ir_value_ids:
ir_values_obj.unlink(cr, self.uid, ir_value_ids)
'LOAD_NAME', 'CALL_FUNCTION', 'COMPARE_OP', 'LOAD_ATTR',
'STORE_NAME', 'GET_ITER', 'FOR_ITER', 'LIST_APPEND', 'DELETE_NAME',
'JUMP_FORWARD', 'JUMP_IF_TRUE', 'JUMP_IF_FALSE', 'JUMP_ABSOLUTE',
- 'MAKE_FUNCTION', 'SLICE+0', 'SLICE+1', 'SLICE+2', 'SLICE+3',
+ 'MAKE_FUNCTION', 'SLICE+0', 'SLICE+1', 'SLICE+2', 'SLICE+3', 'BREAK_LOOP',
+ 'CONTINUE_LOOP', 'RAISE_VARARGS',
# New in Python 2.7 - http://bugs.python.org/issue4715 :
'JUMP_IF_FALSE_OR_POP', 'JUMP_IF_TRUE_OR_POP', 'POP_JUMP_IF_FALSE',
- 'POP_JUMP_IF_TRUE', 'SETUP_EXCEPT', 'END_FINALLY', 'LOAD_FAST',
+ 'POP_JUMP_IF_TRUE', 'SETUP_EXCEPT', 'END_FINALLY',
+ 'LOAD_FAST', 'STORE_FAST', 'DELETE_FAST',
'LOAD_GLOBAL', # Only allows access to restricted globals
] if x in opmap))