What do you mean by 'fail'? you have; :: self.codes = {}
so :: try: :: return eval(self.codes[expr], self.globals, self.locals) will always return an exception the first time (if this is what you're referring to). -- http://mail.python.org/mailman/listinfo/python-list