--- ECHO_content/ECHO_helpers.py 2006/02/03 17:59:41 1.70 +++ ECHO_content/ECHO_helpers.py 2006/05/15 08:11:57 1.76 @@ -139,7 +139,11 @@ class ECHO_basis: def getTitle(self): """title""" - lang=self.getLanguage() + if hasattr(self,'getLanguage'): + lang=self.getLanguage() + else: + lang=None + locale=None if lang and not (lang =="de"): locale=self.ZopeFind(self,obj_ids=["locale_"+lang]) @@ -147,13 +151,20 @@ class ECHO_basis: if locale: return self.decode(locale[0][1].title) else: + try: return self.decode(self.title) - + except: + return self.title def getLabel(self): """title""" - lang=self.getLanguage() + if hasattr(self,'getLanguage'): + lang=self.getLanguage() + else: + lang=None + locale=None + if lang and not (lang=="de"): locale=self.ZopeFind(self,obj_ids=["locale_"+lang]) @@ -537,7 +548,7 @@ def checkOnlyOneInGroup(object): else: return object -def getSubCols(self, sortfield=None, subColTypes=displayTypes, sortFieldMD=None,searchMD=None,searchSimple=None,generic="yes",search_sub=0): +def getSubCols(self, sortfield=None, subColTypes=displayTypes, sortFieldMD=None,searchMD=None,searchMD_modus='search',searchSimple=None,generic="yes",search_sub=0): def sort(x,y): return cmp(x[0],y[0]) @@ -568,8 +579,12 @@ def getSubCols(self, sortfield=None, sub flag=0 for field in searchMD.keys(): #if object.getMDValue(field,generic=generic)==searchMD[field]: - - if re.match(searchMD[field].decode('utf-8'),object.getMDValue(field,generic=generic)): + #if re.match(searchMD[field],object.getMDValue(field,generic=generic)): + if searchMD_modus=='match': + searchResult=re.match(searchMD[field],object.getMDValue(field,generic=generic)) + else: + searchResult=re.search(searchMD[field],object.getMDValue(field,generic=generic)) + if searchResult: flag=1 else: flag=0 @@ -909,7 +924,10 @@ def writeMetadata(url,metadict,project=N metanode.removeChild(nodeOld[0]).unlink() metanodeneu=dom.createElement(metaData) - metanodetext=dom.createTextNode(metadict[metaData].decode('utf-8')) + try: + metanodetext=dom.createTextNode(metadict[metaData]) + except: + metanodetext=dom.createTextNode(metadict[metaData].decode('utf-8')) #try: #metanodetext=dom.createTextNode(unicode(metadict[metaData],"utf-8")) #except: