Hi, I've started this mail because I had a problem. While typing I found my solution, so basically I don't have any question. I'm just learning to use Zope with Python and I'm progressing wel. But maybe someone want to look at this piece of code and can give some suggestions about it. Is it well-coded python? Can I get the same results in smarter/better ways? # file eme_changeScheduled.py # external Method eme_changeScheduled # This method is called from a DTML-method that displays a list of several # selected objects that has the property 'scheduled' and let the user # change all property values at once. # This method is invoked from the root. # REQUEST should have 'foldername' as the name of the subfolder that # contains the objects # REQUEST should have 'new_scheduled' that is a list of object names and new # scheduled values # # I'm only able to supply a string for new_scheduled that looks like: # ('1.1.1','IssueNr001','1.1.1','IssueNr002','1.2.1','IssueNr003') (etc) import string def findObject(self,foldername): """ find an object with the same name as foldername in object self """ result=None for object in self.objectValues(): tit=object.getId() if tit==foldername: result=object return result def replaceScheduled(object,n_scheduled): """ replace the value of object's property scheduled with n_scheduled """ if object.hasProperty('scheduled'): object._updateProperty('scheduled',n_scheduled) object.reindex_object() def listScheduled(self,new_scheduled): """ Searches all objects in self that are listed in new_scheduled as even entries. If found the property scheduled for the object gets a new value which is the entry just before the object's title. Also a list with results is generated """ Result=[] Append=Result.append Alist=list(new_scheduled) l=len(Alist) ind=0 while ind<l: object=findObject(self, Alist[ind+1]) if object: scheduled=object.getProperty('scheduled') Append(str(Alist[ind+1])+'='+str(scheduled)+str('->')+str(Alist[ind])) replaceScheduled(object, Alist[ind]) ind=ind+2 return string.join(Result,'\n') def eme_changeScheduled(self,REQUEST=None): """ change the content of property scheduled for all objects that are found in the subfolder """ fname=REQUEST.get('foldername','') nscheduled=REQUEST.get('new_scheduled','') folder=findObject(self,fname) listScheduled(folder,nscheduled)