[Zope-dev] zope.dublincore and zope.copypastemove not compatible?

Michael Howitz mh at gocept.com
Thu Aug 19 05:56:25 EDT 2010


Am 06.02.2010 um 17:43 schrieb Michael Howitz:
> Hi,
> 
> I found something strange in metadata when copying a persistent object.
> 
> My situation is the following:
> I have a container with some elements inside. I create a copy of this container using
> 
> zope.copypastemove.ObjectCopier(my_container).copyTo(my_container.__parent__)
> 
> (Actually I use zope.copypastemove.interfaces.IObjectCopier(my_container) but this calls the adapter mentioned above.)
> 
> Side note: Is this the right way to copy an persistent object nowadays?
> 
> This happens tho dublin core metadata then:
> As zope.dublincore.timeannotators.CreatedAnnotator is subscribed to zope.lifecycleevent.IObjectCreatedEvent it gets called as the ObjectCopiedEvent is a subclass of ObjectCreatedEvent. The copy of the container gets a new creation date set in its metadata.
> 
> But zope.copypastemove.dispatchToSublocations calls the subscribers for the sublocations using 
> zope.component.subscribers((sub, event), None)
> 
> So the zope.dublincore.timeannotators.CreatedAnnotator does not get called as it is not registered for (object, event) but only for (event,).
> 
> This leads to a strange situation: the metadata of the copied container get updated but not the metadata of its contents.
> This behavior has not changed since version 3.4.0 which was about 2,5 years ago.
> 
> I think this is a long-standing bug and it should it be fixed in zope.dublincore by registering the subscribers for (object, event)? (Additionally or exclusively, I'm not sure.)
> 
> Any thoughts?

As there were no replies I this bug into launchpad: https://bugs.launchpad.net/zope.copypastemove/+bug/620353

Yours sincerely,
-- 
Michael Howitz · mh at gocept.com · software developer
gocept gmbh & co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 8 · fax +49 345 1229889 1
Zope and Plone consulting and development



More information about the Zope-Dev mailing list