Re: [Zope-dev] manage_afterAdd +webdav + two times called
Kai Hoppert wrote at 2004-7-16 10:54 +0200: >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. I am sure "manage_afterAdd" is only called in "_setObject" (which writes the object to ZODB -- in some sense; the actual write happens only during commit). "manage_afterAdd" is not called before "_setObject". -- Dieter ___ Zope-Dev maillist - [EMAIL PROTECTED] 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 )
Re: [Zope-dev] manage_afterAdd +webdav + two times called
Could you add this as a bug in the collector please ? http://collector.zope.org/Zope Florent In article <[EMAIL PROTECTED]> 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 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 "", 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 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 > [EMAIL PROTECTED] | http://www.tomcom.de > > This document should only be read by those persons to whom it is addressed > and is not intended to be re
[Zope-dev] manage_afterAdd +webdav + two times called
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 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 "", 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 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 [EMAIL PROTECTED] | 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, distrib