--- MPIWGWeb/MPIWGProjects.py 2005/12/22 21:10:14 1.47.2.45 +++ MPIWGWeb/MPIWGProjects.py 2006/07/13 09:56:56 1.47.2.53 @@ -270,6 +270,19 @@ class MPIWGRoot(ZSQLExtendFolder): folders=['MPIWGProject','Folder','ECHO_Navigation'] meta_type='MPIWGRoot' + def decode(self,str): + """decoder""" + if not str: + return "" + if type(str) is StringType: + try: + return str.decode('utf-8') + except: + return str.decode('latin-1') + else: + + return str + def versionHeaderEN(self): """version header text""" @@ -765,10 +778,14 @@ class MPIWGRoot(ZSQLExtendFolder): RESPONSE.setHeader('Content-type', 'text/html') RESPONSE.write("
\n") + RESPONSE.write("Update Institutsbibliography\n") + ret=self.upDateSQL('personalwww.xml') + RESPONSE.write("done Insitutsbibliography:%s\n"%ret) 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) #fh=urllib.urlopen(url) #dom=xml.dom.minidom.parse(fh) + RESPONSE.write("got_xml_File\n") @@ -826,7 +843,7 @@ class MPIWGRoot(ZSQLExtendFolder): vorname,username,title,position,e_mail, e_mail_p,date_from,date_to, abteilung,heimat_inst,funded_by, - e_mail2,txt,txt_p) + e_mail2,txt,txt_p,stay_at_mpiwg) RESPONSE.write("""%s
"""%ret[1].encode('utf-8')) except: RESPONSE.write("ERROR:%s %s %s
\n"%(username.encode('utf-8'),name.encode('utf-8'),vorname.encode('utf-8'))) @@ -852,14 +869,14 @@ class MPIWGRoot(ZSQLExtendFolder): done= obj.updateDBEntry(DBid=id,publish_the_data=publish_the_data, date_from=date_from, - date_to=date_to,stay_at_mpiwg=stay_at_mpiwg,position=position) + date_to=date_to,stay_at_mpiwg=stay_at_mpiwg,position=position,abteilung=abteilung) 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) + e_mail2,txt,txt_p,stay_at_mpiwg) if not ret[0]: RESPONSE.write("Error: %s
\n"%repr(ret[1])) @@ -871,7 +888,7 @@ class MPIWGRoot(ZSQLExtendFolder): #self.updatePublicationDB() - self.ZSQLResetConnection() + #self.ZSQLResetConnection() RESPONSE.write("""") + + imageURLs=[] + imageCaptions=[] + for split in splitted[1:]: + tmp=split.split("
") + #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="".join(tmp[1:]) + - filename=self.imageURL.split("/")[-1] - #lege neues images object an, mit leerem bild + splitted=split2.split("""""") + if len(splitted)>1: + tmp=splitted[1].split("
") + imageCaptions.append(tmp[0].encode('utf-8')) + + + else: + #keine caption + + imageCaptions.append("") + + - if self.ZopeFind(self,obj_ids=[filename]): - #existiert das bild schon, dann neueun filenamen - filename="project_image_"+filename - - self.addImage(None,self.imagecap,filename=filename) - #hole die bilddaten aus der url - url=self.absolute_url()+"/"+self.imageURL - #url=self.absolute_url()+"/"+filename - try:#relative url - data=urllib.urlopen(url).read() - except: - try:#absolute - data=urllib.urlopen(self.imageURL).read() + + + + #eintragen: + for imageURL in imageURLs: + filename=imageURL.split("/")[-1] + #lege neues images object an, mit leerem bild + + if self.ZopeFind(self,obj_ids=[filename]): + #existiert das bild schon, dann neuen filenamen + filename="project_image_"+filename + + self.addImage(None,imageCaptions[imageURLs.index(imageURL)],filename=filename) + #hole die bilddaten aus der url + url=self.absolute_url()+"/"+imageURL + #url=self.absolute_url()+"/"+filename + + try:#relative url + data=urllib.urlopen(url).read() except: - zLOG.LOG("MPIWG Project",zLOG.ERROR,"can't open: %s"%url) + try:#absolute + data=urllib.urlopen(self.imageURL).read() + except: + zLOG.LOG("MPIWG Project",zLOG.ERROR,"can't open: %s"%url) - obj=getattr(self,filename) - obj.update_data(data) + obj=getattr(self,filename) + obj.update_data(data) if RESPONSE: RESPONSE.redirect('manageImages')