version 1.1.2.35, 2012/01/09 10:36:48
|
version 1.1.2.40, 2012/03/02 14:03:21
|
Line 21 from bibliography import *
|
Line 21 from bibliography import *
|
import time |
import time |
import xml.dom.minidom |
import xml.dom.minidom |
import sys |
import sys |
|
import transaction |
|
|
#from Ft.Xml.XPath import Evaluate |
#from Ft.Xml.XPath import Evaluate |
#from Ft.Xml.XPath.Context import Context |
#from Ft.Xml.XPath.Context import Context |
#from Ft.Xml.Domlette import NonvalidatingReader,PrettyPrint, Print |
#from Ft.Xml.Domlette import NonvalidatingReader,PrettyPrint, Print |
Line 96 class MPIWGRoot(ZSQLExtendFolder):
|
Line 98 class MPIWGRoot(ZSQLExtendFolder):
|
storage = ClientStorage.ClientStorage(addr) |
storage = ClientStorage.ClientStorage(addr) |
db = DB(storage) |
db = DB(storage) |
self._v_harvestDV=db |
self._v_harvestDV=db |
|
self._v_harvestDV=db |
conn = db.open() |
conn = db.open() |
dbroot = conn.root() |
dbroot = conn.root() |
if not dbroot.has_key('templates'): |
if not dbroot.has_key('templates'): |
Line 106 class MPIWGRoot(ZSQLExtendFolder):
|
Line 109 class MPIWGRoot(ZSQLExtendFolder):
|
logging.debug("CACHE2:"+repr(self._v_harvestCache)) |
logging.debug("CACHE2:"+repr(self._v_harvestCache)) |
return self._v_harvestCache |
return self._v_harvestCache |
|
|
|
|
|
|
def __del__(self): |
def __del__(self): |
if self._v_harvestCache!=None: |
if self._v_harvestCache!=None: |
self._v_harvestDV.close(); |
self._v_harvestDV.close(); |
Line 715 class MPIWGRoot(ZSQLExtendFolder):
|
Line 720 class MPIWGRoot(ZSQLExtendFolder):
|
return ret |
return ret |
|
|
|
|
|
def getAllProjectsAndTagsAsCSV(self,archived=1,RESPONSE=None): |
|
"""alle projekte auch die nicht getaggten""" |
|
retList=[] |
|
headers=['sortingNumber','projectName','scholars','startedAt','completedAt','lastChange thesaurus','last change project','persons','places','objects'] |
|
headers.extend(list(self.thesaurus.tags.keys())) |
|
retList.append("\t".join(headers)) |
|
if not hasattr(self,'thesaurus'): |
|
return "NON thesaurus (there have to be a MPIWGthesaurus object, with object ID thesaurus)" |
|
|
|
projectTags = self.thesaurus.getProjectsAndTags() |
|
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(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())) |
|
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 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): |
def getProjectFields(self,fieldName,date=None,folder=None,sort=None): |
"""getListofFieldNames""" |
"""getListofFieldNames""" |
ret=[] |
ret=[] |
Line 1295 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1338 class MPIWGRoot(ZSQLExtendFolder):
|
"""give tuple member /projects""" |
"""give tuple member /projects""" |
ret=[] |
ret=[] |
members=self.getAllMembers() |
members=self.getAllMembers() |
logging.error("X %s"%repr(members)) |
logging.debug("X %s"%repr(members)) |
#return str(members) |
#return str(members) |
for x in 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) |
projects=self.getProjectsOfMember(key=x[1],date=date) |
if len(projects)>0: |
if len(projects)>0: |
ret.append((x[0],projects)) |
ret.append((x[0],projects)) |
Line 1327 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1370 class MPIWGRoot(ZSQLExtendFolder):
|
else: |
else: |
return ret # key muss definiert sein |
return ret # key muss definiert sein |
|
|
logging.debug("MPIWGROOT (getProjectsOfMember):"+repr(proj)) |
#logging.debug("MPIWGROOT (getProjectsOfMember):"+repr(proj)) |
if proj: |
if proj: |
proj2=[] |
proj2=[] |
for x in proj: |
for x in proj: |