[Zope-dev] manage_afterAdd +webdav + two times called
Kai Hoppert
kai.hoppert at tomcom.de
Fri Jul 16 04:54:50 EDT 2004
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
More information about the Zope-Dev
mailing list