Back porting Diane's opener.py from trunk to v0.1.x branch