-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Paul Winkler wrote:
On Fri, Jul 02, 2004 at 07:40:31PM +0200, Garito wrote:
Hi all!
I have a class like these:
class Test(CatalogAware, , OrderedFolder): def manage_beforeDelete(self, item, container): CatalogAware.manage_beforeDelete(item, container) OrderedFolder.manage_beforeDelete(item, container)
I only put the relevant code
If I delete de hook to manage_beforeDelete the class works fine (the objects disappear from the catalog) but if I put the function the catalog don't delete the objects
any idea?
In Python, anytime you call "unbound" methods (i.e. by referencing a class rather than an instance), you need to pass an instance - in this case, self - explicitly.
For example:
def manage_beforeDelete(self, item, container): CatalogAware.manage_beforeDelete(self, item, container) OrderedFolder.manage_beforeDelete(self, item, container)
But if your actual code looks like your example, you should have gotten errors due to missing arguments.
Except that 'OFS.ObjectManager' logs and suppresses any non-vetoing errors raised by an object's 'manage_beforeDelete': the tradeoff is that buggy objects could otherwise be unremovable. Tres. - -- =================================================================== Tres Seaver +1 202-558-7113 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFKnSC+gerLs4ltQ4RAocMAKC6VAVQfuXdOD1Zw8f+lewf/24T+ACeKmja aqXoiqnWJxuXzqJ9ZEXXw1k= =mgqJ -----END PGP SIGNATURE-----