"""
this script produces the following output:

(python:3678): Clutter-CRITICAL **: clutter_interval_set_initial_value: assertion `G_VALUE_TYPE (value) == priv->value_type' failed

(python:3678): Clutter-CRITICAL **: clutter_interval_set_final_value: assertion `G_VALUE_TYPE (value) == priv->value_type' failed

(python:3678): Clutter-CRITICAL **: clutter_interval_set_initial_value: assertion `G_VALUE_TYPE (value) == priv->value_type' failed

(python:3678): Clutter-CRITICAL **: clutter_interval_set_final_value: assertion `G_VALUE_TYPE (value) == priv->value_type' failed
/opt/gnome/lib/python2.6/site-packages/gi/types.py:43: Warning: g_value_get_float: assertion `G_VALUE_HOLDS_FLOAT (value)' failed
  return info.invoke(*args, **kwargs)
/opt/gnome/lib/python2.6/site-packages/gi/types.py:43: Warning: g_value_set_float: assertion `G_VALUE_HOLDS_FLOAT (value)' failed
  return info.invoke(*args, **kwargs)

(python:3678): GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)' failed

(python:3678): GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)' failed

(python:3678): GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)' failed

(python:3678): GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)' failed
"""
from gi.repository import Clutter
mode = Clutter.AnimationMode.EASE_IN_OUT_SINE
Clutter.init("")
stage = Clutter.Stage().get_default()
color = Clutter.Color.new(0, 0, 0, 255)
actor = Clutter.Rectangle(height=50, width=40, x=50, y=40, color=color)
stage.add_actor(actor)
stage.show_all()
animator = Clutter.Animator()
animator.set_key(actor, 'x', mode, 0, 200.)
animator.set_key(actor, 'x', mode, 1, 600.)
animator.set_key(actor, 'y', mode, 0, 200.)
animator.set_key(actor, 'y', mode, 1, 440.)
animator.set_key(actor, 'scale-x', mode, 0, 1.)
animator.set_key(actor, 'scale-x', mode, 1, 8.)
animator.set_key(actor, 'scale-y', mode, 0, 1.)
animator.set_key(actor, 'scale-y', mode, 1, 8.)
animator.set_key(actor, 'rotation-angle-z', mode, 0, 1.)
animator.set_key(actor, 'rotation-angle-z', mode, 1, 90.)
animator.set_duration(2000)
animator.get_timeline().start()
Clutter.main()
