Do all of the objects returned by getattr(context, item) have a .editMetadata method. Or perhaps security is 'getting in the way' (i.e. do you have rights to .editMetadata) On Wed, 2003-03-05 at 19:12, Fearless Froggie wrote:
Hi,
When you are going through a for loop, are you in the context of that for loop variable? Can you drop out of that for loop context and into the context of the script?
Example:
If I loop through a list of id's with a for loop and do something to each of these objects, I get a "You are not allowed to access editMetadata in this context". Here's the code (here I'm just changing the title of each of my items in my list 'id' to 'bob'):
for item in id: item_object = getattr(context, item) item_object.editMetadata(title='bob')
But if I do these changes directly, it works fine:
item_object = getattr(context, id[0]) item_object.editMetadata(title='bob')
So I'm guessing that the for loops puts me into another context. How do I get into the context of the object I want to edit? I've tried "context.item_object.editMetadata(title='bob')" and "container.item_object.editMetadata(title='bob')", but they didn't work either.
My script in all these cases is my custom skins directory.
Many thanks for any ideas on this. (And thank you once again for all the great ideas I've received for my past emails :)
Rita.
__________________________________________________ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.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 ) -- Edward Muller
Interlix - President Web Hosting - PC Service & Support Custom Programming - Network Service & Support Phone: 417-862-0573 Cell: 417-844-2435 Fax: 417-862-0572 http://www.interlix.com