[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