[Zope-dev] why cant i rename an object from an external method
Andy McKay
andym@ActiveState.com
Thu, 28 Sep 2000 18:16:51 -0700
Heres a treat. I'm trying to write an external method to rename objects. I
have approx 10,000 to rename so a script would be nice. No problem I
thought, imitate a forms manage_renameObject and CopySupport.py can do the
work.
Rename works fine from the web form, but not from a script.
(ASPNTools.getsomeobjectsfromstring returns a bunch of objects, Ive tried
replicating this with resolve_url and get different namespace error, could
this be a clue?).
Heres my script:
def search(self, REQUEST=None):
l = ASPNTools.getsomeobjectsfromstring(self, REQUEST['path'], REQUEST)
for obj in l:
ob = obj.aq_parent # get the folder
ob.manage_renameObject(obj.id(), 'Foo')
return 'renamed'
Here's my problem:
The object 100BASEFX does not support this operation
.... File d:\p4\Zope-dev\lib\python\Products\ASPN/Extensions/foo_rename.py,
line 6, in search
(Object: 100BASEFX)
File d:\p4\Zope-dev\lib\python\OFS\CopySupport.py, line 288, in
manage_renameObject
(Object: Traversable)
File d:\p4\Zope-dev\lib\python\OFS\CopySupport.py, line 406, in
_verifyObjectPaste
(Object: Traversable)
Copy Error: (see above)
There surely must be simple way of doing this so I dont have to resort to
writing a Perl script to imitate the browser, please!
Thanks in advance as ever.
--
Andy McKay, Developer.
ActiveState.