* Gary Duke Speer <gspeer@cortech.org> [2004-06-12 18:47]:
Does one of the many Zope products have a feature to walk a tree of folderish objects and globally add or remove a named property.
The delete would simply take the property name as an arguement and execute on all folders having the property from the point of execution down. The add would take the Property name, the class, and the default/starting value and it it doesn't already exist, adds it.
In the alternative, for a python newbie, is this something that can be created easily? Is there a trick for error suppression needed to manage the cases of deleting when the property doesn't exist or adding when already added during the recursion through subfolders. (or testing first)
Thank you for any suggestions, Gary
Add a python script that uses ZopeFind to find all folderish objects and add/delete properties to them: # rootfolder is the root of your tree for obj in context.ZopeFind(rootfolder, obj_expr='isPrincipiaFolderish', search_sub=1): # add new properties if not obj.hasProperty('NewPropertyName'): obj.manage_addProperty('NewPropertyName', '', 'string') # delete properties if obj.hasProperty('PropertyToDelete'): obj.manage_delProperty('PropertyToDelete') -- Roché Compaan Upfront Systems http://www.upfrontsystems.co.za