version 1.47.2.37, 2005/10/24 08:29:30
|
version 1.47.2.48, 2006/01/30 14:33:43
|
Line 762 class MPIWGRoot(ZSQLExtendFolder):
|
Line 762 class MPIWGRoot(ZSQLExtendFolder):
|
|
|
def updateHomepages(self,RESPONSE=None): |
def updateHomepages(self,RESPONSE=None): |
""" update""" |
""" update""" |
#FIXME: seite wird hinter apache mehrfach ausgefŸhrt |
|
RESPONSE.setHeader('Content-type', 'text/html') |
RESPONSE.setHeader('Content-type', 'text/html') |
RESPONSE.write("<html><body>\n") |
RESPONSE.write("<html><body>\n") |
url="http://itgroup.mpiwg-berlin.mpg.de:8050/FMPro?-db=personal-www&-format=-dso_xml&-lay=sql_export&-max=10000&-findall" |
url="http://itgroup.mpiwg-berlin.mpg.de:8050/FMPro?-db=personal-www&-format=-dso_xml&-lay=sql_export&-max=20000&-findall" |
dom = NonvalidatingReader.parseUri(url) |
dom = NonvalidatingReader.parseUri(url) |
#fh=urllib.urlopen(url) |
#fh=urllib.urlopen(url) |
#dom=xml.dom.minidom.parse(fh) |
#dom=xml.dom.minidom.parse(fh) |
Line 787 class MPIWGRoot(ZSQLExtendFolder):
|
Line 787 class MPIWGRoot(ZSQLExtendFolder):
|
name=getTextFromNode(row.xpath('./dn:Name',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
name=getTextFromNode(row.xpath('./dn:Name',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
vorname=getTextFromNode(row.xpath('./dn:Vorname',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
vorname=getTextFromNode(row.xpath('./dn:Vorname',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
title=getTextFromNode(row.xpath('./dn:Title',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
title=getTextFromNode(row.xpath('./dn:Title',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
|
position=getTextFromNode(row.xpath('./dn:Position',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail=getTextFromNode(row.xpath('./dn:e_mail',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail=getTextFromNode(row.xpath('./dn:e_mail',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail_p=getTextFromNode(row.xpath('./dn:e_mail_p',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail_p=getTextFromNode(row.xpath('./dn:e_mail_p',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
date_from=getTextFromNode(row.xpath('./dn:Date_from',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
date_from=getTextFromNode(row.xpath('./dn:Date_from',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
Line 796 class MPIWGRoot(ZSQLExtendFolder):
|
Line 797 class MPIWGRoot(ZSQLExtendFolder):
|
funded_by=getTextFromNode(row.xpath('./dn:funded_by',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
funded_by=getTextFromNode(row.xpath('./dn:funded_by',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail2=getTextFromNode(row.xpath('./dn:e_mail2',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail2=getTextFromNode(row.xpath('./dn:e_mail2',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
publish_the_data=getTextFromNode(row.xpath('./dn:publish_the_data',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
publish_the_data=getTextFromNode(row.xpath('./dn:publish_the_data',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
|
stay_at_mpiwg=getTextFromNode(row.xpath('./dn:stay_at_mpiwg',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
#cwNode=row.xpath('./dn:current_work.current',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0] |
#cwNode=row.xpath('./dn:current_work.current',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0] |
cw=row.xpath('./dn:current_work/dn:DATA',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'}) |
cw=row.xpath('./dn:current_work/dn:DATA',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'}) |
if cw: |
if cw: |
Line 822 class MPIWGRoot(ZSQLExtendFolder):
|
Line 823 class MPIWGRoot(ZSQLExtendFolder):
|
RESPONSE.write("<p>new:%s</p>\n"%username.encode('utf-8')) |
RESPONSE.write("<p>new:%s</p>\n"%username.encode('utf-8')) |
obj=getattr(memberFolder,username) |
obj=getattr(memberFolder,username) |
ret=obj.createNewDBEntry(publish_the_data,id,name, |
ret=obj.createNewDBEntry(publish_the_data,id,name, |
vorname,username,title,e_mail, |
vorname,username,title,position,e_mail, |
e_mail_p,date_from,date_to, |
e_mail_p,date_from,date_to, |
abteilung,heimat_inst,funded_by, |
abteilung,heimat_inst,funded_by, |
e_mail2,txt,txt_p) |
e_mail2,txt,txt_p,stay_at_mpiwg) |
RESPONSE.write("""<p>%s</p>"""%ret[1].encode('utf-8')) |
RESPONSE.write("""<p>%s</p>"""%ret[1].encode('utf-8')) |
except: |
except: |
RESPONSE.write("<p>ERROR:%s %s %s</p>\n"%(username.encode('utf-8'),name.encode('utf-8'),vorname.encode('utf-8'))) |
RESPONSE.write("<p>ERROR:%s %s %s</p>\n"%(username.encode('utf-8'),name.encode('utf-8'),vorname.encode('utf-8'))) |
Line 849 class MPIWGRoot(ZSQLExtendFolder):
|
Line 850 class MPIWGRoot(ZSQLExtendFolder):
|
|
|
obj=getattr(memberFolder,username) |
obj=getattr(memberFolder,username) |
|
|
obj.updateDBEntry(DBid=id,publish_the_data=publish_the_data, |
done= obj.updateDBEntry(DBid=id,publish_the_data=publish_the_data, |
date_from=date_from, |
date_from=date_from, |
date_to=date_to) |
date_to=date_to,stay_at_mpiwg=stay_at_mpiwg,position=position) |
|
if not done and (publish_the_data=='yes'): |
|
|
|
ret=obj.createNewDBEntry(publish_the_data,id,name, |
|
vorname,username,title,position,e_mail, |
|
e_mail_p,date_from,date_to, |
|
abteilung,heimat_inst,funded_by, |
|
e_mail2,txt,txt_p,stay_at_mpiwg) |
|
if not ret[0]: |
|
|
|
RESPONSE.write("<p>Error: %s</p>\n"%repr(ret[1])) |
|
else: |
|
RESPONSE.write("<p>New: %s</p>\n"%repr(ret[1])) |
|
|
|
#TODO: reindexCatlogs and updatePublications wieder einbaue |
#self.reindexCatalogs(RESPONSE) |
#self.reindexCatalogs(RESPONSE) |
|
|
#self.updatePublicationDB() |
#self.updatePublicationDB() |
|
|
|
#self.ZSQLResetConnection() |
RESPONSE.write("<h2>Done</h2></body></html>") |
RESPONSE.write("<h2>Done</h2></body></html>") |
|
|
|
return True |
|
|
def reindexCatalogs(self,RESPONSE=None): |
def reindexCatalogs(self,RESPONSE=None): |
"""reindex members and project catalog""" |
"""reindex members and project catalog""" |
Line 874 class MPIWGRoot(ZSQLExtendFolder):
|
Line 889 class MPIWGRoot(ZSQLExtendFolder):
|
|
|
|
|
|
|
|
|
if RESPONSE: |
if RESPONSE: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
Line 918 class MPIWGRoot(ZSQLExtendFolder):
|
Line 934 class MPIWGRoot(ZSQLExtendFolder):
|
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
|
|
|
# def getAllMembers(self,reset=None): |
|
# """give list of all members""" |
|
# ret=[] |
|
# |
|
# |
|
# if reset or (getattr(self,'_v_membersList',None) is None): |
|
# for member in self.members._objects: |
|
# if member['meta_type']=='MPIWGStaff': |
|
# memberObj=getattr(self.members,member['id']) |
|
# if memberObj.isPublished(): |
|
# ret.append(memberObj.title.decode('utf-8')) |
|
# |
|
# ret.sort() |
|
# self._v_membersList=ret[0:] |
|
# print ret |
|
# |
|
# return self._v_membersList |
|
|
def getAllMembers(self): |
def getAllMembers(self): |
"""give list of all members""" |
#ret=[] |
ret=[] |
|
|
|
#for x in self.members.objectValues('MPIWGStaff'): |
results=self.MembersCatalog({'isPublished':True}) |
#print x.title |
|
# ret.append(x.title.decode('utf-8')) |
|
|
|
for x in self.ZopeFind(self.members,obj_metatypes=['MPIWGStaff']): |
|
if x[1].isPublished(): |
|
ret.append(x[1].title.decode('utf-8')) |
|
|
|
ret.sort() |
ret=[", ".join([proj.firstName, proj.lastName]) for proj in results] |
#print ret |
|
|
|
return ret |
return ret |
|
|
def printAllMembers(self): |
def printAllMembers(self): |
"""prin""" |
"""prin""" |
members=self.getAllMembers() |
members=self.getAllMembers() |
Line 1015 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1040 class MPIWGRoot(ZSQLExtendFolder):
|
ret+="""<li>\n""" |
ret+="""<li>\n""" |
|
|
if actualDepth==1: |
if actualDepth==1: |
departmentName={'1':'Department I','2':'Department II','3':'Department III', '4':'Ind. Research Group','5':'Ind. Research Group'} |
departmentName={'1':'Department I','2':'Department II','3':'Department III', '4':'Ind. Research Group','5':'Ind. Research Group','6':'Research Network'} |
department=element[3].getContent('xdata_05') |
department=element[3].getContent('xdata_05') |
ret+="""<a href="#top"><img src="../grafik/totop.gif" vspace="10" border="0"></a><br><a name="dept%s"></a>%s: """%(department,departmentName[department]) |
ret+="""<a href="#top"><img src="../grafik/totop.gif" vspace="10" border="0"></a><br><a name="dept%s"></a>%s: """%(department,departmentName[department]) |
|
|
Line 1033 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1058 class MPIWGRoot(ZSQLExtendFolder):
|
return """<h2 class="hier"><a href="%s">Ind. Research Group I: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
return """<h2 class="hier"><a href="%s">Ind. Research Group I: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
if element[3].getContent('xdata_05') == "5": |
if element[3].getContent('xdata_05') == "5": |
return """<h2 class="hier"><a href="%s">Ind. Research Group II: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
return """<h2 class="hier"><a href="%s">Ind. Research Group II: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
|
if element[3].getContent('xdata_05') == "6": |
|
return """<h2 class="hier"><a href="%s">Research Network "History of Scientific Objects": %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
|
|
return """<h2 class="hier"><a href="%s">Department %s: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('xdata_05'),element[3].getContent('WEB_title')) |
return """<h2 class="hier"><a href="%s">Department %s: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('xdata_05'),element[3].getContent('WEB_title')) |
|
|
Line 1169 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1196 class MPIWGRoot(ZSQLExtendFolder):
|
"""give tuple member /projects""" |
"""give tuple member /projects""" |
ret=[] |
ret=[] |
members=self.getAllMembers() |
members=self.getAllMembers() |
|
|
#return str(members) |
#return str(members) |
for x in members: |
for x in members: |
|
|
ret+=self.getProjectsOfMember(name=x,date=date) |
ret+=self.getProjectsOfMember(name=x,date=date) |
|
|
return ret |
return ret |
Line 1396 class MPIWGProject(CatalogAware,Folder):
|
Line 1425 class MPIWGProject(CatalogAware,Folder):
|
|
|
|
|
def copyImageToMargin(self,RESPONSE=None): |
def copyImageToMargin(self,RESPONSE=None): |
#TODO: copy more than one image |
|
"""copy inline images to marginal images""" |
"""copy inline images to marginal images""" |
self.getContent('WEB_project_description',filter='yes') |
|
|
|
filename=self.imageURL.split("/")[-1] |
|
|
#getImages from WEB_project_description |
|
description=self.getContent('WEB_project_description') |
|
|
|
text2=description |
|
splitted=text2.split("""<p class="picture">""") |
|
|
|
imageURLs=[] |
|
imageCaptions=[] |
|
for split in splitted[1:]: |
|
tmp=split.split("</p>") |
|
#return repr(splitted[1]) |
|
try: |
|
imageURLs.append(tmp[0].split("\"")[1].encode('utf-8')) |
|
except: |
|
imageURLs.append(tmp[0].split("src=")[1].split(" ")[0].encode('utf-8')) |
|
|
|
split2="</p>".join(tmp[1:]) |
|
|
|
|
|
splitted=split2.split("""<p class="picturetitle">""") |
|
if len(splitted)>1: |
|
tmp=splitted[1].split("</p>") |
|
imageCaptions.append(tmp[0].encode('utf-8')) |
|
|
|
|
|
else: |
|
#keine caption |
|
|
|
imageCaptions.append("") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#eintragen: |
|
for imageURL in imageURLs: |
|
filename=imageURL.split("/")[-1] |
#lege neues images object an, mit leerem bild |
#lege neues images object an, mit leerem bild |
|
|
if self.ZopeFind(self,obj_ids=[filename]): |
if self.ZopeFind(self,obj_ids=[filename]): |
#existiert das bild schon, dann neueun filenamen |
#existiert das bild schon, dann neuen filenamen |
filename="project_image_"+filename |
filename="project_image_"+filename |
|
|
self.addImage(None,self.imagecap,filename=filename) |
self.addImage(None,imageCaptions[imageURLs.index(imageURL)],filename=filename) |
#hole die bilddaten aus der url |
#hole die bilddaten aus der url |
url=self.absolute_url()+"/"+self.imageURL |
url=self.absolute_url()+"/"+imageURL |
#url=self.absolute_url()+"/"+filename |
#url=self.absolute_url()+"/"+filename |
|
|
try:#relative url |
try:#relative url |