[Zope] overriding manage_beforeDelete in a CatalogAware Product
Dennis Nichols
nichols@tradingconnections.com
Thu, 16 Nov 2000 22:51:17 -0600
I think I need help in overriding the manage_beforeDelete method from
CatalogAware. Just to be sure I'm asking the right question, here's the
background:
I have a Product (in Python, not TTW) whose instances get cataloged in a
separate ZCatalog called CommentCatalog. My product's class inherits from
CatalogAware and other classes and can successfully index itself by calling
thusly in the __init__ routine:
self.manage_editCataloger('CommentCatalog')
self.index_object()
Reindex also works just fine.
But I'm confused about how to get rid of the index entry upon delete. I
think I need to set the catalog name and then call the inherited
manage_beforeDelete routine. So I tried this:
def manage_beforeDelete(self, item, container):
"Be sure we unindex ourselves from our special catalog"
self.manage_editCataloger('CommentCatalog')
self.CatalogAware.manage_beforeDelete(item, container)
Not too surprisingly, the code throws an "AttributeError: CatalogAware"
into the Stupid Log File and doesn't remove the object from CommentCatalog.
Of course I don't understand what the correct incantation is, so I'm
appealing for guidance.
Zope 2.2.2, Python 1.5.2, RH 6.2, etc
Thanks!
--
Dennis Nichols
nichols@tradingconnections.com