-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Gaute Amundsen wrote:
On Monday 28 August 2006 12:21, Andreas Jung wrote:
--On 28. August 2006 12:08:16 +0200 Gaute Amundsen <gaute@div.org> wrote:
Hi.
I am having some strange problems getting copy and paste to work propperly in python script
Basically I do:
parent.manage_copyObjects([currFold.id], REQUEST)
in one script, and:
dest_fold.manage_pasteObjects(REQUEST) You must check the APIs carefully. manage_pasteObjects() takes REQUEST as keyword parameter but not as positional parameter. So you must pass is it as keyword parameter!
-aj
So you are saying that
parent.manage_copyObjects([currFold.id], REQUEST)
is ok. and
dest_fold.manage_pasteObjects(REQUEST=context.REQUEST)
should be ok?
When you mention it, where exactly is the APIs? A search of the zope site for "manage_copyObjects" givs me two largely irrelevant hits.
Looking at this for example: http://docs.neuroinf.de/api/plone-api/public/OFS.CopySupport.CopyContainer-c... ( which is one of the first things google throws up )
gives no indication that REQUEST is a keyword parameter.
I think the keyword argument bit is a red herring. The issue here is that the methods you are calling are not really designed to be scripted within the context of a single request: 'manage_copyObjects' sets a cookie in the *response* object, while 'manage_pasteObjects' looks for that cookie in the *request* object. This works fine when used as designed: the cookie from the response gets sent back in the next request, which can then figure out which object(s) to paste. For scripting, you need to capture the result of calling 'manage_copyObjects', which will be the value of the cookie (the "clipboard data"), and then pass it into 'manage_pasteObjects'. E.g.:: cb_data = source.manage_copyObjects(ids=selected) target.manage_pasteObjects(cb_data) In this mode, you don't (and shouldn't) need to pass the request at all. Tres. - -- =================================================================== Tres Seaver +1 202-558-7113 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFE8v29+gerLs4ltQ4RAqQzAKCkSdXNdseAPoXcgRfMlUzMFq76nQCgnXPM sRYlTXImfZ3vEPfVBej4hvo= =6Fdy -----END PGP SIGNATURE-----