Hi Jim,

The method _verify in zope.interface.verify
raises the exception for decorated LocationProxy methods 
at line 75.

else:
    if not callable(attr):
        raise BrokenMethodImplementation(name, "Not a method")
    # sigh, it's callable, but we don't know how to intrspect it, so
    # we have to give it a pass.
    continue

Is it possible to change it to:

else:
    if not (callable(attr) or type(property)):
        raise BrokenMethodImplementation(name, "Not a method")
    # sigh, it's callable, but we don't know how to intrspect it, so
    # we have to give it a pass.
    continue

which will allow to use the decorator "@non_overridable"
for methods on proxies like:

@non_overridable
def has_key(self, key):
    return getProxiedObject(self).has_key(key)


Regards
Roger Ineichen
_____________________________
Projekt01 GmbH
www.projekt01.ch
Boesch 65
6331 H├╝nenberg
phone     +41 (0)41 781 01 78
mobile    +41 (0)79 340 52 32
fax       +41 (0)41 781 00 78
email [EMAIL PROTECTED]
_____________________________
END OF MESSAGE

_______________________________________________
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to