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

2004-07-16 Thread Kai Hoppert
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 scr 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 scr 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, 
distribution and/or publication of this message is 

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

2004-07-16 Thread Florent Guillaume
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 scr 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 scr 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 

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

2004-07-16 Thread Dieter Maurer
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 )