--- MPIWGWeb/MPIWGProjects.py 2005/12/22 20:33:45 1.47.2.43 +++ MPIWGWeb/MPIWGProjects.py 2006/07/27 09:01:00 1.47.2.55 @@ -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""" @@ -634,7 +647,7 @@ class MPIWGRoot(ZSQLExtendFolder): """test""" return self.getProjectsByFieldContent('xdata_09',['biology'])[0].absolute_url - def getContexts(self,childs=None,parents=None,depth=None,date=None): + def getContexts(self,childs=None,parents=None,depth=None,date=None,onlyActive=True): """childs alle childs, alle parents""" ret=[] @@ -649,15 +662,17 @@ class MPIWGRoot(ZSQLExtendFolder): if childs: for project in self.getProjectFields('xdata_05',sort='int',date=date): searchStr=childs+"(\..*)" - if re.match(searchStr,project[1]): - - if depth: - - if int(depth)>=len(project[1].split("."))-len(childs.split(".")): - + + if (onlyActive and project[0].isActiveProject()) or (not onlyActive): + if re.match(searchStr,project[1]): + + if depth: + + if int(depth)>=len(project[1].split("."))-len(childs.split(".")): + + ret.append(project) + else: ret.append(project) - else: - ret.append(project) return ret def getProjectFields(self,fieldName,date=None,folder=None,sort=None): @@ -765,10 +780,14 @@ class MPIWGRoot(ZSQLExtendFolder): RESPONSE.setHeader('Content-type', 'text/html') RESPONSE.write("
\n") - url="http://itgroup.mpiwg-berlin.mpg.de:8050/FMPro?-db=personal-www&-format=-dso_xml&-lay=sql_export&-max=20000&name=Laubichler&-find" + 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 +845,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,26 +871,27 @@ 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) - if not done and (publish_the_data=='yes'): - + 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])) - else: - RESPONSE.write("New: %s
\n"%repr(ret[1])) + RESPONSE.write("Error: %s
\n"%repr(ret[1])) + else: + RESPONSE.write("New: %s
\n"%repr(ret[1])) #TODO: reindexCatlogs and updatePublications wieder einbaue #self.reindexCatalogs(RESPONSE) - #self.updatePublicationDB() - - RESPONSE.write("