--- ECHO_content/ECHO_helpers.py 2007/01/23 18:22:29 1.79 +++ ECHO_content/ECHO_helpers.py 2007/07/24 09:11:46 1.84 @@ -17,9 +17,14 @@ import ECHO_collection import base64 import bz2 import xmlrpclib -import zLOG + import logging +#erstzt logging +def logger(txt,method,txt2): + """logging""" + logging.info(txt+ txt2) + displayTypes = ['ZSQLExtendFolder','ZSQLBibliography','ECHO_group','ECHO_collection','ECHO_resource','ECHO_link','ECHO_sqlElement','ECHO_pageTemplate','ECHO_externalLink','ImageCollectionIFrame','VLP_resource','VLP_essay','ECHO_ZCatalogElement','ImageCollection','versionedFileFolder','ECHO_movie'] @@ -30,6 +35,29 @@ def encodeRPC(string): def decodeRPC(string): return bz2.decompress(base64.decodestring(string)) +def unicodify(s): + """decode str (utf-8 or latin-1 representation) into unicode object""" + if not s: + return u"" + if isinstance(s, str): + try: + return s.decode('utf-8') + except: + return s.decode('latin-1') + else: + return s + +def utf8ify(s): + """encode unicode object or string into byte string in utf-8 representation. + assumes string objects to be utf-8""" + if not s: + return "" + if isinstance(s, str): + return s + else: + return s.encode('utf-8') + + def content_html(self,type): """template fuer content""" #templates = self.ZopeFind(self.aq_parent,obj_ids=[type+"_template"]) @@ -351,10 +379,10 @@ class ECHO_basis: js+="""addArea('%s', 'overview', %s, '%s', '%s');\n"""%(ob.getFullId(),ob.getCoordString(),ob.getType(),perm) return js - def createMapHead(self): + def createMapHead(self,mapColTypes=None): """create javascript include and script tags for head""" pt=zptFile(self, 'zpt/ECHO_content_map_frag_js') - return pt() + return pt(mapColTypes=mapColTypes) def createMapImg(self): """generate img-tag for map""" @@ -924,13 +952,13 @@ def writeMetadata(url,metadict,project=N except: - zLOG.LOG("ECHO writeMetadata",zLOG.ERROR,"XCannot open: "+url) + logger("ECHO writeMetadata",logging.ERROR,"XCannot open: "+url) return (None,"XCannot open: "+url) try: dom=xml.dom.minidom.parseString(geturl) except: - zLOG.LOG("ECHO writeMetadata",zLOG.ERROR,"Cannot parse: "+url+"
"+geturl) + logger("ECHO writeMetadata",logging.ERROR,"Cannot parse: "+url+"
"+geturl) return (None,"Cannot parse: "+url+"
"+geturl) @@ -1159,7 +1187,8 @@ class MapArea(SimpleItem): parent = self.aq_parent text = parent.getMapText() if text is not None: - return text.document_src() + #return text.document_src() + return text() return "" def getLabel(self): @@ -1214,6 +1243,8 @@ class MapText(Folder,ZopePageTemplate): self.ZBindings_edit(self._default_bindings) if text is None: text = open(self._default_content_fn).read() + if content_type is None: + content_type = self.content_type self.pt_edit(text, content_type) def createLocale(self):