Friday, July 11, 2008

Mid-Summer Screencast

The screencast is up here [mp4] and here [avi].
The SVN repo has been updated to use the same code as the screencast (r77).

Accomplishments thus far:
  • Masquerading as any Activity while retaining all functionality
  • Hooks into PyGTK library to intercept GDK Events to catalog widgets
  • Intelligent identification of widgets based on widget class to give each widget a unique identifier
  • Manipulation of many types of widgets using generic commands like 'click' and 'type'
  • Multithreaded execution routine prevents hang-ups (prior versions would stall once the calls to the GTK handler stopped due to inactivity)
  • Custom scripting language with support for advanced string manipulation [will soon be replaced by native Python code]
  • XML-RPC client/server interface allows the scripts to be stored on a central machine, while sugarbot may be run on any number of slaves.
  • Per-command status reporting and graceful error handling
  • Does not rely on any libraries or modules outside those already provided by Sugar and Python
  • Automated testing provided via buildbot and python-nose.

Have fun!
Questions, comments, and rants are welcome and appreciated.

1 comment:

  1. Awesome work! Nice presentation, Sugarbot looks very impressive.

    How are you running Sugar? Inside a VM? Or running natively? Can Sugar work with either method?

    ReplyDelete