from roundup import roundupdb, hyperdb def reaction(db, cl, nodeid, oldvalues): # if nosy not empty, raise ioerror if (db.issue.get(nodeid, 'nosy')): raise IOError("nosy reaction ioerror") def audit(db, cl, nodeid, newvalues): # if status changed raise ioerror if newvalues.has_key('status'): raise IOError("status audit ioerror") def init(db): '''Set up reactors for exception handling''' db.issue.react('create', reaction) db.issue.react('set', reaction) db.issue.audit('set', audit) db.issue.audit('create', audit)