Chris Bruce writes:
Can any one give me a working example of how to add a ZCLASS to a folder in Python Script? I have tried:
request = context.REQUEST
for i in context.Users.UserFolders.objectValues():
folder.manage_addProduct["UserFileFolder"].UserFileFolder_add(id=i.id) print context.REQUEST["id"]
return printed
But it is giving me the following error: Traceback (innermost last): ... (Object: UserFileFolder.createInObjectManager(REQUEST['id'], REQUEST)) (Info: REQUEST) File <string>, line 2, in f (Object: guarded_getitem) NameError: (see above)
Zope error messages are better than the quotations I often see in the mailing list. It tells you which name is not found! As you surely understand this is an essential information. From your code above, I would expect "folder" is unknown. But that's probably because your just forgot to show us the definition of "folder"... The traceback suggests, "id" is unknown in "REQUEST". I expect that this is due to the fact, that "UserFileFolder_add" is a DTML method that is called wrongly (without the necessary 2 positional parameters). If this analysis is correct, then you should read the section "Calling DTML objects" in <http://www.dieter.handshake.de/pyprojects/zope/book/chap3.html> For the future: When you report tracebacks, you should report "Error Type" and "Error Value", too. Dieter