Am 19.08.2010 um 11:56 schrieb Michael Howitz: > 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
I implemented a solution, see comment https://bugs.launchpad.net/zope.copypastemove/+bug/620353/comments/1 Could someone please review the solution before I merge it into trunk? Thanks in advance. Yours sincerely, -- Michael Howitz · [email protected] · 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 _______________________________________________ Zope-Dev maillist - [email protected] https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )
