--- MPIWGWeb/Attic/MPIWGRoot.py 2012/01/09 10:36:48 1.1.2.35 +++ MPIWGWeb/Attic/MPIWGRoot.py 2012/02/29 19:01:19 1.1.2.38 @@ -21,6 +21,8 @@ from bibliography import * import time import xml.dom.minidom import sys +import transaction + #from Ft.Xml.XPath import Evaluate #from Ft.Xml.XPath.Context import Context #from Ft.Xml.Domlette import NonvalidatingReader,PrettyPrint, Print @@ -96,6 +98,7 @@ class MPIWGRoot(ZSQLExtendFolder): storage = ClientStorage.ClientStorage(addr) db = DB(storage) self._v_harvestDV=db + self._v_harvestDV=db conn = db.open() dbroot = conn.root() if not dbroot.has_key('templates'): @@ -106,6 +109,8 @@ class MPIWGRoot(ZSQLExtendFolder): logging.debug("CACHE2:"+repr(self._v_harvestCache)) return self._v_harvestCache + + def __del__(self): if self._v_harvestCache!=None: self._v_harvestDV.close(); @@ -714,6 +719,24 @@ class MPIWGRoot(ZSQLExtendFolder): return ret + def getAllProjectsAndTagsAsCSV(self,archived=1): + """alle projekte auch die nicht getaggten""" + retList=[] + for project in self.getProjectFields('WEB_title_or_short'): + 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.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.append("|".join(self.thesaurus.getTags(proj.getId()))) + retList.append("\t".join(retProj)) + + return "\n".join(retList); def getProjectFields(self,fieldName,date=None,folder=None,sort=None): """getListofFieldNames""" @@ -1295,10 +1318,10 @@ class MPIWGRoot(ZSQLExtendFolder): """give tuple member /projects""" ret=[] members=self.getAllMembers() - logging.error("X %s"%repr(members)) + logging.debug("X %s"%repr(members)) #return str(members) for x in members: - logging.error("X %s"%repr(x)) + #logging.debug("X %s"%repr(x)) projects=self.getProjectsOfMember(key=x[1],date=date) if len(projects)>0: ret.append((x[0],projects)) @@ -1327,7 +1350,7 @@ class MPIWGRoot(ZSQLExtendFolder): else: return ret # key muss definiert sein - logging.debug("MPIWGROOT (getProjectsOfMember):"+repr(proj)) + #logging.debug("MPIWGROOT (getProjectsOfMember):"+repr(proj)) if proj: proj2=[] for x in proj: