I would like to assert that a method accepts certain types. I have a short example that works:
from functools import wraps def accepts(*types): def check_accepts(f): @wraps(f) def new_f(self, other): assert isinstance(other, types), \ "arg %r does not match %s" % (other, types) return f(self, other) return new_f return check_accepts class Test(object): @accepts(int) def check(self, obj): print obj t = Test() t.check(1) but now I want Test.check to accept an instance of Test as well. Does anyone know how this can be accomplished? The following class definition for Test raises a NameError: class Test(object): @accepts(int, Test) def check(self, obj): print obj Thanks, Darren -- http://mail.python.org/mailman/listinfo/python-list