[Zope] Copying objects in ZODB programmatically
Noel Duffy
noel.duffy@propylon.com
Fri, 12 Apr 2002 15:21:42 +0100
I am trying to make a copy of an object in my ZODB using
manage_copyObjects and manage_pasteObjects. I have code
like this:
import Zope
app=Zope.app()
x=app.manage_copyObjects([app['getad'].id])
app.manage_pasteObjects(x)
This raises an exception, like so:
Traceback (innermost last):
File "test.py", line 9, in ?
app.manage_pasteObjects(x)
File "lib\python\OFS\CopySupport.py", line 203, in manage_pasteObjects
self._verifyObjectPaste(ob)
File "lib\python\OFS\CopySupport.py", line 393, in _verifyObjectPaste
if getSecurityManager().validate(None, parent, None, meth):
File "/MC2\lib\python\AccessControl\SecurityManager.py", line 139, in validate
self._context)
File "/MC2\lib\python\AccessControl\ZopeSecurityPolicy.py", line 211, in valid
ate
raise 'Unauthorized', (
Unauthorized: You are not authorized to access <em>methodAdd</em>.
However, I cannot see how to have my script authenticate itself to
the ZODB so I can do the copy/paste. Can anyone tell me what I need
to do here? Do I need to use
Zope.AccessControl.SecurityManagement.newSecurityManager somehow?
I'm using Zope 2.2.4, which for reasons too long to go into here I
cannot change.
Thanks in advance,
Noel.
--
Noel Duffy
Tel: +353 96 36038 Fax: +353 96 36353