--- MPIWGWeb/MPIWGProjects.py 2007/05/02 18:38:41 1.47.2.77 +++ MPIWGWeb/MPIWGProjects.py 2007/10/18 12:00:17 1.47.2.79 @@ -110,6 +110,29 @@ def sortI(x,y): except: return cmp(x[1],y[1]) + +def unicodify(str): + """decode str (utf-8 or latin-1 representation) into unicode object""" + 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 utf8ify(str): + """encode unicode object or string into byte string in utf-8 representation""" + if not str: + return "" + if type(str) is StringType: + return str + else: + return str.encode('utf-8') + + class MPIWGLink(SimpleItem): """create a symbolic link to another page""" @@ -844,14 +867,13 @@ class MPIWGRoot(ZSQLExtendFolder): ret+="Created %s \n"%e_mail created=True except: - msg="Cannot create new user %s (%s %s)"%(e_mail,sys.exc_info()[0],sys.exc_info()[1]) logging.error(msg) ret+=msg+"\n" created=False if created: - qstr="update personal_www set web_object_created='yes',e_mail='%s' where key=%s"%(e_mail,self.ZSQLQuote(k)) + qstr="update personal_www set web_object_created='yes',e_mail='%s@mpiwg-berlin.mpg.de' where key=%s"%(e_mail,self.ZSQLQuote(k)) self.ZSQLQuery(qstr) return ret @@ -1595,6 +1617,9 @@ class MPIWGProject(CatalogAware,Folder): meta_type='MPIWGProject' default_catalog='ProjectCatalog' + def decode(self,str): + """return unicode object""" + return unicodify(str) def sortedByPlace(self,metatype): """find metatype and sort by place""" @@ -2281,7 +2306,10 @@ class MPIWGProject(CatalogAware,Folder): if (text5=="
") or (text5=="
"): text5="" - return text5.encode('utf-8') + logging.debug("getcontent: field=%s filter=%s -> %s"%(field,filter,repr(text5))) + #return unicodify(text5) + return utf8ify(text5) # return as utf-8 byte string + def showImagesOfPage(self,imageUrl=None): """show Images of project"""