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 )


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 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

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 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