[Zope] Catalog import duplicates entries
Chris McDonough
chrism@zope.com
08 Jun 2002 16:24:42 -0400
On Sat, 2002-06-08 at 14:14, John Schinnerer wrote:
> Howdy,
> Makes sense, thanks - and seems like a CatalogAware bug vs.
> import/export functionality...and maybe vs. copy/cut/paste too.
Maybe.. To be honest, I think you'd need to look at the import/export
and cut/paste code to see how it works. It's a very scary beast, and
I'm not sure at all of the semantics of when things manage_afterAdd
methods are called during an import nor duing a cut and paste. I
usually just live with the results. ;-)
> I'm doing a cut/paste from the temporary container (not copy/paste), so
> however that works internally, the catalog and objects cataloged are no
> longer in the temp. container to visit...
I see. Well, then this might be a problem of the cut and paste
machinery not doing the right thing when the objects are moved. You
would expect that each object's manage_beforeDelete in the old place
would be called before being pasted into the new place, and that their
manage_afterAdds would be called as they are pasted into the new place.
The cut and paste code frightens me greatly, I try not to think about
it. ;-)
>
> Larger question: if (no, *when* ;-) I rebuild my gallery objects using
> python products instead of ZClasses), how can I avoid this problem?
If you want things to catalog themselves when you add them,
manage_afterAdd is the most straightforward and "Zopish" way to do it.
Other solutions are possible, but you'd need to play around.
> And, how do I make the objects really catalog-smart, so they catalog
> themselves when created, recatalog themselves when edited, etc.?
Just call methods of the catalog manually. See
CatalogAware/CatalogPathAware for ideas on how to do it.
- C