[Zope-dev] manage_afterAdd +webdav + two times called

Florent Guillaume fg at nuxeo.com
Fri Jul 16 09:26:56 EDT 2004


Could you add this as a bug in the collector please ?
http://collector.zope.org/Zope

Florent

In article <A54D5004067F2442B1B8177EB6FC41DD33A451 at justus.schrottplatz> you write:
> Hi all,
> 
> zope2.7.2-RC1
> cmf 1.4.4
> 
> i tried and tested a bit around with webdav and noticed that manage_afterAdd
> is called two times in putting a file into Plone . Yea i know this is not the
> list for Plone but i think this is more a problem from zope, webdav and cmf. 
> 
>  File "/var/lib/zope271/lib/python/webdav/NullResource.py", line 110, in PUT
>     ob = factory(name, typ, body)
> 
> ______________________________________________________________________________
>  
> File "/var/lib/zope271/lib/python/webdav/NullResource.py", line 127, in PUT
>     self.__parent__._setObject(name, ob)
> 
> These two lines from the traceback are the mainproblem i think. First manage
> manage_afterAdd will be called after creating the Object and second it is
> called after writing the object into zodb. 
> 
> Is this intended that manage_afterAdd is called two times?? Shouldn't it only
> called after writing the data to zodb.
> 
> Below i posted the whole traceback wich was produced.
> 
> Greetings Kai
> 
>   File "/var/lib/zope271/lib/python/ZServer/PubCore/ZServerPublisher.py",
> line 23, in __init__
>     response=response)
>   File "/var/lib/zope271/lib/python/ZPublisher/Publish.py", line 389, in
> publish_module
>     environ, debug, request, response)
>   File "/var/lib/zope271/lib/python/ZPublisher/Publish.py", line 180, in
> publish_module_standard
>     response = publish(request, module_name, after_list, debug=debug)
>   File
> "/var/lib/zope271/instance/default/Products/PlacelessTranslationService/PatchStringIO.py", line 51, in new_publish
>     x = Publish.old_publish(request, module_name, after_list, debug)
>   File "/var/lib/zope271/lib/python/ZPublisher/Publish.py", line 101, in publish
>     request, bind=1)
>   File "/var/lib/zope271/lib/python/ZPublisher/mapply.py", line 88, in mapply
>     if debug is not None: return debug(object,args,context)
>   File "/var/lib/zope271/lib/python/ZPublisher/Publish.py", line 39, in
> call_object
>     result=apply(object,args) # Type s<cr> to step into published object.
>   File "/var/lib/zope271/lib/python/webdav/NullResource.py", line 110, in PUT
>     ob = factory(name, typ, body)
>   File "/var/lib/zope271/instance/default/Products/CMFCore/PortalFolder.py",
> line 336, in PUT_factory
>     self.invokeFactory( typeObjectName, name )
>   File "/var/lib/zope271/instance/default/Products/CMFCore/PortalFolder.py",
> line 363, in invokeFactory
>     , kw
>   File "/var/lib/zope271/instance/default/Products/CMFCore/TypesTool.py",
> line 709, in constructContent
>     ob = apply(info.constructInstance, (container, id) + args, kw)
>   File "/var/lib/zope271/instance/default/Products/CMFCore/TypesTool.py",
> line 398, in constructInstance
>     id = apply( m, args, kw ) or id  # allow factory to munge ID
>   File "<string>", line 4, in addVCard
>   File "/var/lib/zope271/lib/python/OFS/ObjectManager.py", line 276, in
> _setObject
>     object.manage_afterAdd(object, self)
>   File "/var/lib/zope271/instance/default/Products/VCard/VCard.py", line 239,
> in manage_afterAdd
>     print print_stack()
> None
> 
>   File "/var/lib/zope271/lib/python/ZServer/PubCore/ZServerPublisher.py",
> line 23, in __init__
>     response=response)
>   File "/var/lib/zope271/lib/python/ZPublisher/Publish.py", line 389, in
> publish_module
>     environ, debug, request, response)
>   File "/var/lib/zope271/lib/python/ZPublisher/Publish.py", line 180, in
> publish_module_standard
>     response = publish(request, module_name, after_list, debug=debug)
>   File
> "/var/lib/zope271/instance/default/Products/PlacelessTranslationService/PatchStringIO.py", line 51, in new_publish
>     x = Publish.old_publish(request, module_name, after_list, debug)
>   File "/var/lib/zope271/lib/python/ZPublisher/Publish.py", line 101, in publish
>     request, bind=1)
>   File "/var/lib/zope271/lib/python/ZPublisher/mapply.py", line 88, in mapply
>     if debug is not None: return debug(object,args,context)
>   File "/var/lib/zope271/lib/python/ZPublisher/Publish.py", line 39, in
> call_object
>     result=apply(object,args) # Type s<cr> to step into published object.
>   File "/var/lib/zope271/lib/python/webdav/NullResource.py", line 127, in PUT
>     self.__parent__._setObject(name, ob)
>   File "/var/lib/zope271/lib/python/OFS/ObjectManager.py", line 276, in
> _setObject
>     object.manage_afterAdd(object, self)
>   File "/var/lib/zope271/instance/default/Products/VCard/VCard.py", line 239,
> in manage_afterAdd
>     print print_stack()
> ___________________________________________________
> tomcom Gesellschaft für Informationstechnologie mbH
> Heuriedweg 14 | D-88131 Lindau
> Fon +49 (0)8382 975844 | Fax +49 (0)8382 975855
> kai.hoppert at tomcom.de | http://www.tomcom.de
> 
> This document should only be read by those persons to whom it is addressed
> and is not intended to be relied upon by any person without subsequent
> written confirmation of its contents.  tomcom disclaims all responsibility
> and accepts no liability for the consequences of any person acting, or
> refraining from acting on the contents of this document.  Any unauthorised
> form of dissemination, copying, disclosure, modification, distribution and/or
> publication of this message is strictly prohibited. For information about
> tomcom please contact us on +49.8382.975844 or visit our web site at
> www.tomcom.de
> 
> 
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev at zope.org
> http://mail.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists - 
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope )
> 


-- 
Florent Guillaume, Nuxeo (Paris, France)
+33 1 40 33 79 87  http://nuxeo.com  mailto:fg at nuxeo.com


More information about the Zope-Dev mailing list