[Zope] The id "s5/begin" contains characters illegal in URLs
Sinang, Danny
D.Sinang at spi-bpo.com
Thu Aug 10 02:19:40 EDT 2006
> Huh? Usually you have no chance to create a Zope object with such an
id.
> So there is no need to rename something that can't exist be definition
:-)
Exactly.
The said object, "s5/Begin", is the "Begin" activity of the "s5" process
found in the "GeneralWorkflow" workflow - which is an OpenFlow (
www.openflow.it ) object.
I was able to rename my processes (S5, S100, S200) to their lowercase
counterparts since all I had to do was do :
///////////////////////////////////////////////////////
wf = container.GeneralWorkflow
catalog = wf.Catalog
processes = catalog.ZopeFind(wf, obj_metatypes=['Process'],
search_sub=1)
for p in processes:
wf.manage_renameObject(p[0], p[0].lower())
///////////////////////////////////////////////////////
When I try to rename the activities found in those processes, I try to
do likewise, but the ZopeFind results come out like this :
('S100/Begin', <activity at /dev/danny/wms/GeneralWorkflow/S100/Begin>)
('S100/RECEIPT_OF_SOURCE_DOCUMENTS', <activity at
/dev/danny/wms/GeneralWorkflow/S100/RECEIPT_OF_SOURCE_DOCUMENTS>)
('S100/CHECK_MS_BATCHING', <activity at
/dev/danny/wms/GeneralWorkflow/S100/CHECK_MS_BATCHING>)
To call manage_renameObject (), I have to supply it with the object
name.
If I use result[0], I get the illegal characters in URL error.
And if I use result[1].id, I get :
Error Type: AttributeError
Error Value: Begin
This is probably because there is no "Begin" object under the "wf"
container from which I'm calling manage_renameObject().
So my question is, how do I refer to the "Begin" object found in the
S100 workflow ?
Regards,
Danny
More information about the Zope
mailing list