Re: [Zope] manage_cutObjects/manage_pasteObjects problem ...
Giampiero Benvenuti wrote at 2008-7-25 15:20 +0200: ... it should be something like this: ... src=context.your_cut_context[obj_id] context.your_cut_context.manage_cutObjects([src]) manage_cutObjects takes a sequence of ids (or a single id) as input (not the real objects). dst=context.your_paste_context dst.manage_pasteObjects(src) manage_pasteObjects takes the return value of manage_cut/copyObjects as input not the real objects. -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] manage_cutObjects/manage_pasteObjects problem ...
Just a quick note: On Fri, Jul 25, 2008 at 03:20:23PM +0200, Giampiero Benvenuti wrote: I think the problem is your 4th line: copy_info = obj_parent.manage_cutObjects((context.getId())) copy_info should be the object you want to cut it should be something like this: ... src=context.your_cut_context[obj_id] context.your_cut_context.manage_cutObjects([src]) dst=context.your_paste_context dst.manage_pasteObjects(src) Sorry Giampiero, you're just guessing, and you're guessing wrong. The original poster's code was correct*. Dieter's suggestion is a better approach to troubleshoot this problem. *well, almost correct. There's a common Python mistake on one line: copy_info = obj_parent.manage_cutObjects((context.getId())) You think you're creating a tuple there, but you're not. To create a tuple of size 1, you need a trailing comma: copy_info = obj_parent.manage_cutObjects((context.getId(),)) But that's not causing your problem; manage_cutObjects() helpfully wraps a string argument in a tuple for you. -- Paul Winkler http://www.slinkp.com ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] manage_cutObjects/manage_pasteObjects problem ...
Ajay Deshpande wrote at 2008-7-23 10:36 +0530: Ive been trying to cut objects from one context and paste them into another using a script python. But I get a CopyError when I try doing this. This is my code snippet and the traceback ... Snippet... ... obj = context.restrictedTraverse(path) obj_parent = obj.aq_inner.aq_parent dest_folder = context.Dest # this is a folder object copy_info = obj_parent.manage_cutObjects((context.getId())) dest_folder.manage_pasteObjects(copy_info) ... Traceback: Traceback (innermost last): Module ZPublisher.Publish, line 115, in publish Module ZPublisher.mapply, line 88, in mapply Module ZPublisher.Publish, line 41, in call_object Module OFS.CopySupport, line 194, in manage_pasteObjects Module OFS.CopySupport, line 527, in _verifyObjectPaste Copy Error: Usually, Zope error messages and tracebacks are quite informative. The unhelpful error messages from CopySupport are an exception. For them, you must look at the Code (near line 527 of CopySupport.py) and check, what it really did not like. -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] manage_cutObjects/manage_pasteObjects problem ...
On Jul 23, 2008, at 7:06 AM, Ajay Deshpande wrote: Hi all: Ive been trying to cut objects from one context and paste them into another using a script python. But I get a CopyError when I try doing this. This is my code snippet and the traceback ... Snippet... ... obj = context.restrictedTraverse(path) obj_parent = obj.aq_inner.aq_parent dest_folder = context.Dest # this is a folder object copy_info = obj_parent.manage_cutObjects((context.getId())) dest_folder.manage_pasteObjects(copy_info) ... I think the problem is your 4th line: copy_info = obj_parent.manage_cutObjects((context.getId())) copy_info should be the object you want to cut it should be something like this: ... src=context.your_cut_context[obj_id] context.your_cut_context.manage_cutObjects([src]) dst=context.your_paste_context dst.manage_pasteObjects(src) ... Let me know if it works for you, Giampiero ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )