--- ECHO_content/ECHO_helpers.py 2005/12/04 09:10:55 1.68 +++ ECHO_content/ECHO_helpers.py 2006/02/03 17:59:41 1.70 @@ -49,7 +49,9 @@ class ECHO_basis: """basis eigenschaften fuer echo objekte""" security=ClassSecurityInfo() security.declarePublic('getImageTag') - + + management_page_charset="utf-8" + def manage_addECHO_locale(self,lang,title,label,text=None,content_type=None,RESPONSE=None): return ECHO_collection.manage_addECHO_locale(self,lang,title,label) @@ -147,12 +149,6 @@ class ECHO_basis: else: return self.decode(self.title) - - try: - return self.title.encode('utf-8','ignore') - except: - self.title=self.title.decode('iso-8859-1','ignore')[0:] #correnct conding error - return self.title.encode('utf-8','ignore') def getLabel(self): """title""" @@ -175,13 +171,7 @@ class ECHO_basis: return ret return self.decode(self.label) - try: - return self.label.encode('utf-8','ignore') - except: - self.label=self.label.decode('iso-8859-1','ignore')[0:] #correnct conding error - return self.label.encode('utf-8','ignore') - - + def changeECHOEntriesForm(self): """change Entries for the ECHO Navigation environment""" pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeECHOEntriesForm')).__of__(self) @@ -547,7 +537,7 @@ def checkOnlyOneInGroup(object): else: return object -def getSubCols(self, sortfield=None, subColTypes=displayTypes, sortFieldMD=None,searchMD=None,searchSimple=None,generic="yes"): +def getSubCols(self, sortfield=None, subColTypes=displayTypes, sortFieldMD=None,searchMD=None,searchSimple=None,generic="yes",search_sub=0): def sort(x,y): return cmp(x[0],y[0]) @@ -565,18 +555,21 @@ def getSubCols(self, sortfield=None, sub sortWithMD = lambda sortfield : (lambda x,y : sortfnc(sortfield,x,y)) ids=[] - displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes) + displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes,search_sub=search_sub) + if searchSimple and (not (searchSimple==""))and hasattr(self,'resourceCatalog'): searchString=" AND ".join(searchSimple.split()) ids=[x.getObject() for x in self.resourceCatalog({'getMDValueSimpleSearchField':searchString})] else: for entry in displayedObjects: object=entry[1] - if searchMD and hasattr(object,'getMDValue'): + if searchMD: + if hasattr(object,'getMDValue'): flag=0 for field in searchMD.keys(): #if object.getMDValue(field,generic=generic)==searchMD[field]: - if re.match(searchMD[field],object.getMDValue(field,generic=generic)): + + if re.match(searchMD[field].decode('utf-8'),object.getMDValue(field,generic=generic)): flag=1 else: flag=0 @@ -773,7 +766,8 @@ def zptFile(self, path, orphaned=False): # unusual case pt=PageTemplateFile(os.path.join(package_home(globals()), path)) else: - pt=PageTemplateFile(os.path.join(package_home(globals()), path)).__of__(self) + + pt=PageTemplateFile(os.path.join(package_home(globals()), path)).__of__(self) return pt @@ -863,7 +857,7 @@ def writeMetadata(url,metadict,project=N metanode.appendChild(node) if xmlfrag: - geturl=""" + geturl=""" @@ -915,7 +909,7 @@ def writeMetadata(url,metadict,project=N metanode.removeChild(nodeOld[0]).unlink() metanodeneu=dom.createElement(metaData) - metanodetext=dom.createTextNode(metadict[metaData]) + metanodetext=dom.createTextNode(metadict[metaData].decode('utf-8')) #try: #metanodetext=dom.createTextNode(unicode(metadict[metaData],"utf-8")) #except: @@ -947,11 +941,9 @@ def writeMetadata(url,metadict,project=N updateTextToolNode('digiliburlprefix',digiliburlprefix) try: - return dom.toxml().encode('utf-8') + return dom.toxml(encoding='utf-8').encode('utf-8') except: - return dom.toxml('utf-8') - - + return dom.toxml(encoding='utf-8') def readMetadata(url): """Methode zum Auslesen der Metadateninformation zu einer Resource @@ -997,8 +989,7 @@ def readMetadata(url): except: """nothing""" - - return metadict,"" + return (metadict,"") class MapArea(SimpleItem):