MfnAnimCurve.setKeys() Rotation values

In one of my scripts i do something like this for rotations :


trs = MTransformationMatrix(local_matrix) # i grab the matrix i need 
.
.
if set_rotate_order: 
	trs = trs.reorderRotation(rotate_order+1) # set the rotation order

euler = trs.rotation(asQuaternion=False) # grab rotation values from matrix
euler = om2.MEulerRotation(euler.x, euler.y, euler.z, rotate_order) 
euler.reorder(rotate_order) # re-order rotations 

# Write values per frames
keys["rotateX"].append((frame, euler.x))
keys["rotateY"].append((frame, euler.y))
keys["rotateZ"].append((frame, euler.z))
.
.
.

# Then after passing all my keys i apply them to anim curves.

# Use addKeys to set all keys in one go for efficiency

times = [om2.MTime(frame, om2.MTime.uiUnit()) for frame, _ in frame_values]|
values = [value for _, value in frame_values]|
animFn.addKeys(times, values)|