def restore_note(orm, user, note_id, historic, d_time=None): LOG.info("Restoring note %d", note_id) d_time = historic and d_time or None note, note_v, d_time = get_deleted_entity( orm, Note, Note_v, "note_id", note_id, "note_v_id", d_time) d_time = historic and d_time or None if note: LOG.warning("Note %d already exists.", note_id) return note if not note_v: LOG.error( "Cannot restore note %d because no recently " "deleted versions exist.", note_id) return None LOG.info("deleted time: %s", d_time) note = Note( note_v.text, note_v.source, user, note_v.public) note.note_id = note_v.note_id orm.add(note) return note