--- MPIWGWeb/MPIWGStaff.py 2009/12/15 13:16:47 1.10.2.73 +++ MPIWGWeb/MPIWGStaff.py 2012/01/09 13:14:46 1.10.2.81 @@ -25,7 +25,8 @@ import logging import email import re from OFS.Cache import Cacheable - +import urllib2 +import transaction from MPIWGHelper import * #ersetzt logging def logger(txt,method,txt2): @@ -33,7 +34,7 @@ def logger(txt,method,txt2): logging.info(txt+ txt2) departmentList="Renn\nRheinberger\nDaston\nKlein\nSibum\nIT\nInstitut\nBibliothek" - +coneService="http://127.0.0.1:8280/MetaDataManagerRestlet/cone/" # kann in MPIWGRoot konfiguriert werden. @@ -79,6 +80,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend meta_type="MPIWGStaff" default_catalog='MembersCatalog' departmentList=departmentList + _v_cone=None; security=ClassSecurityInfo() def redirect(self,RESPONSE,url): @@ -97,6 +99,9 @@ class MPIWGStaff(CatalogAware,ZSQLExtend def getKeyUTF8(self): """get db_key utf8""" + logging.debug("KEY - MPIWGStaff:"+self.getKey()) + logging.debug("KEY - MPIWGStaff:"+utf8ify(self.getKey())) + return utf8ify(self.getKey()) def setKey(self,key): @@ -236,7 +241,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend """publish the image??, default no""" return getattr(self,'publishImage','no') - def updateImage(self,file,publishImage,rename=None,RESPONSE=None): + def updateImage(self,publishImage,file=None,rename=None,RESPONSE=None): """update image""" if file and not(file.filename==""): @@ -317,6 +322,23 @@ class MPIWGStaff(CatalogAware,ZSQLExtend """ return self.id + def getConeUrl(self): + """gibt coneURL zurueck""" + + self.coneService=getattr(self, "coneServiceURL",coneService) + logging.debug("coneservice:"+self.coneService) + if self._v_cone==None: + try: + cone = urllib2.urlopen(self.coneService+self.getPersonID()) + self._v_cone=cone.read() + except: + return None + + return self._v_cone + + + + def harvest_page_old(self,context=None): """geharvestete seite = verschlankte version von members_main""" #pt = getTemplate(self, "harvest_members_main") @@ -336,15 +358,23 @@ class MPIWGStaff(CatalogAware,ZSQLExtend return pt() - def harvest_page(self): + def harvest_page(self,mode="normal"): """harvest""" + if not self.isPublished(): - return "" - st = getattr(self.en.staff.members,self.getId()).index_html() - return st + return + st = getattr(self.en.staff.members,self.getId()).index_html(mode) + + templates = self.en.getHarvestCache() + #templates = getattr(self,'getHarvestCache',self.en.getHarvestCache)() + rendered = st + templates[self.absolute_url()]=rendered + transaction.commit() + return rendered + - def index_html(self): + def index_html(self,mode="normal"): """show homepage""" bound_names={} @@ -375,7 +405,10 @@ class MPIWGStaff(CatalogAware,ZSQLExtend pt = getattr(self, "index.html") # else use template else: - pt = getTemplate(self, "members_main") + if mode=="slim": + pt = getTemplate(self, "members_main_slim") + else: + pt = getTemplate(self, "members_main") # Execute the template in a new security context. security.addContext(self) @@ -456,7 +489,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMPIWGStaff.zpt')).__of__(self) - logging.error("XX:"+email.Utils.formatdate().split("-")[0]+'GMT') + logging.debug("XX:"+email.Utils.formatdate().split("-")[0]+'GMT') return pt() mainEditFile=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMPIWGStaff_main.zpt')) @@ -637,7 +670,8 @@ class MPIWGStaff(CatalogAware,ZSQLExtend """erzeugt ein automatisches Profil aus den alten Eintraegen CV, Current work, und research interests""" ret="" - founds=self.ZSQLInlineSearch(_table='research_interest',key_main=person.getKeyUTF8()) + #founds=self.ZSQLInlineSearch(_table='research_interest',key_main=person.getKeyUTF8()) + founds=self.ZSQLInlineSearch(_table='research_interest',key_main=person.key) if founds: ret="

Research interests:


" for found in self.sortPriority(founds):