There is a workaround for this in the DocumentTemplate package. It implements a "safe_callable" function that seems to do the right thing with ext class instances:
def safe_callable(ob): # Works with ExtensionClasses and Acquisition. if hasattr(ob, '__class__'): if hasattr(ob, '__call__'): return 1 else: return type(ob) in ClassTypes else: return callable(ob) On Mon, 2002-11-25 at 13:01, Jeremy Hylton wrote: > It must be any instance of an ExtensionClass. I think Python > instances used to be true-for-callable as well, but that must have > been fixed. > > Python 2.1.3 (#5, Aug 15 2002, 10:41:31) > [GCC 2.95.3 19991030 (prerelease)] on linux2 > Type "copyright", "credits" or "license" for more information. > >>> from ZODB.PersistentList import * > >>> callable(PersistentList()) > 1 > > Jeremy > > > _______________________________________________ > Zope-Dev maillist - [EMAIL PROTECTED] > http://lists.zope.org/mailman/listinfo/zope-dev > ** No cross posts or HTML encoding! ** > (Related lists - > http://lists.zope.org/mailman/listinfo/zope-announce > http://lists.zope.org/mailman/listinfo/zope ) _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )