else: resid[step_vals['reference_res_id']] = step_obj.create(step_vals) # parse transition logger.info('Update transitions') for node in transition: trans_vals = {} for key, item in node.items(): if key in ['to_id', 'from_id']: item = resid[item] trans_vals[key] = item # create or update trans_ids = trans_obj.search( [('reference_res_id', '=', trans_vals['reference_res_id'])], 0, None, None, {'active_test': False}) if trans_ids: all_transition_ids -= set(trans_ids) del trans_vals['reference_res_id'] trans_obj.write(trans_ids, trans_vals) else: trans_obj.create(trans_vals) # Remove deleted steps and transitions logger.info('Delete old steps and transitions') step_obj.unlink(list(all_step_ids)) trans_obj.unlink(list(all_transition_ids)) logger.info('Import scenario done!') # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: