Am 19.08.2010 um 11:56 schrieb Michael Howitz:
> Am 06.02.2010 um 17:43 schrieb Michael Howitz:
>> 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
>> (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
>> 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:
I implemented a solution, see comment
Could someone please review the solution before I merge it into trunk?
Thanks in advance.
Michael Howitz · m...@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
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -