--- MPIWGWeb/Attic/MPIWGRoot.py 2012/03/01 07:46:27 1.1.2.39 +++ MPIWGWeb/Attic/MPIWGRoot.py 2012/12/07 10:12:56 1.1.2.42 @@ -396,6 +396,9 @@ class MPIWGRoot(ZSQLExtendFolder): return base def isNewCapital(self,text=None,reset=None): + + if text: + text=text.upper() if reset: self.REQUEST['capital']="A" return True @@ -719,10 +722,11 @@ class MPIWGRoot(ZSQLExtendFolder): return ret + def getAllProjectsAndTagsAsCSV(self,archived=1,RESPONSE=None): """alle projekte auch die nicht getaggten""" retList=[] - headers=['projectName','scholars','lastChange thesaurus','last change project','persons','places','objects'] + headers=['projectId','sortingNumber','projectName','scholars','startedAt','completedAt','lastChangeThesaurusAt','lastChangeProjectAt','projectCreatedAt','persons','places','objects'] headers.extend(list(self.thesaurus.tags.keys())) retList.append("\t".join(headers)) if not hasattr(self,'thesaurus'): @@ -733,22 +737,34 @@ class MPIWGRoot(ZSQLExtendFolder): proj = project[0] p_name = project[1] retProj=[] - if (not proj.isArchivedProject() and archived==1) or (proj.isArchivedProject() and archived==2): - retProj.append(self.utf8ify(p_name)) - retProj.append(self.utf8ify(proj.getContent('xdata_01'))) - retProj.append(self.thesaurus.lastChangeInThesaurus.get(proj.getId(),'')) - retProj.append(self.utf8ify(getattr(proj,'creationTime','20050101000000'))) - retProj.append(";".join([person[1] for person in self.thesaurus.getPersonsFromProject(proj.getId())])) - retProj.append(";".join([person[1] for person in self.thesaurus.getHistoricalPlacesFromProject(proj.getId())])) - retProj.append(";".join([person[1] for person in self.thesaurus.getObjectsFromProject(proj.getId())])) - retProj+=self.thesaurus.getTags(proj.getId(),projectTags) - retList.append("\t".join(retProj)) + #if (not proj.isArchivedProject() and archived==1) or (proj.isArchivedProject() and archived==2): + retProj.append(self.utf8ify(proj.getId())) + retProj.append(self.utf8ify(proj.getContent('xdata_05'))) + retProj.append(self.utf8ify(p_name)) + retProj.append(self.utf8ify(proj.getContent('xdata_01'))) + retProj.append(self.utf8ify(proj.getStartedAt())) + retProj.append(self.utf8ify(proj.getCompletedAt())) + changeDate=self.thesaurus.lastChangeInThesaurus.get(proj.getId(),'') + n = re.sub("[:\- ]","",str(changeDate)) + retProj.append(n) + retProj.append(self.utf8ify(getattr(proj,'creationTime','20050101000000'))) + retProj.append("")#TODO: project created at + retProj.append(";".join([person[1] for person in self.thesaurus.getPersonsFromProject(proj.getId())])) + retProj.append(";".join([person[1] for person in self.thesaurus.getHistoricalPlacesFromProject(proj.getId())])) + retProj.append(";".join([person[1] for person in self.thesaurus.getObjectsFromProject(proj.getId())])) + retProj+=self.thesaurus.getTags(proj.getId(),projectTags) + retList.append("\t".join(retProj)) if RESPONSE: + + RESPONSE.setHeader('Content-Disposition','attachment; filename="ProjectsAndTags.tsv"') RESPONSE.setHeader('Content-Type', "application/octet-stream") return "\n".join(retList); + + + def getProjectFields(self,fieldName,date=None,folder=None,sort=None): """getListofFieldNames""" ret=[] @@ -1068,7 +1084,7 @@ class MPIWGRoot(ZSQLExtendFolder): #ret=[] def sorter(x,y): - return cmp(x[0],y[0]) + return cmp(x[0].lower(),y[0].lower()) results=self.MembersCatalog({'isPublished':True})