--- ECHO_content/ECHO_collection.py 2007/03/09 17:57:13 1.286 +++ ECHO_content/ECHO_collection.py 2008/02/04 18:49:13 1.294 @@ -196,12 +196,15 @@ class ECHO_locale(ZopePageTemplate): meta_type="ECHO_locale" def __init__(self,id,lang,title,label,text=None,content_type=None): - self.lang=lang - self.title=title - self.label=label - if text: - self.pt_edit(text, content_type) - self.id=id + self.lang=lang + self.title=title + self.label=label + # default content + if not text: + text = open(self._default_content_fn).read() + content_type = 'text/html' + self.pt_edit(text, content_type) + self.id=id manage_options = ZopePageTemplate.manage_options+( {'label':'Main Config','action':'change_ECHO_localeForm'}, @@ -218,6 +221,8 @@ class ECHO_locale(ZopePageTemplate): self.title=title self.label=label if not text is None: + if content_type is None: + content_type = self.content_type self.pt_edit(text, content_type) if RESPONSE is not None: @@ -307,6 +312,8 @@ class ECHO_layoutTemplate(ZopePageTempla if text is None: self._default_content_fn = os.path.join(package_home(globals()),'zpt','ECHO_%s_template_standard.zpt'%EchoType) text = open(self._default_content_fn).read() + if content_type is None: + content_type = self.content_type self.pt_edit(text, content_type) @@ -1177,8 +1184,26 @@ class ECHO_resource(CatalogAware,Folder, only if metalink is set, otherwise it gives false """ + texterUrl="http://nausikaa2.mpiwg-berlin.mpg.de/digitallibrary/servlet/Texter?fn=/" + vl,msg=self.checkValidityOfMetaLink() + if not vl: #ungueltiger link, versuche neuen + newStr=re.match(".*/mpiwg/online/(.*)",self.metalink) # suche pfad hinter /mpiwg/online + oldLink=self.metalink + + if newStr: + self.metalink=texterUrl+newStr.group(1) + vl,msg=self.checkValidityOfMetaLink() + else: + logging.error("change Viewer XX(mew Metadatafile) %s"%self.metalink) + vl=False + + if not vl: # geht immer noch nicht, dann setzte wieder zurueck + self.metaLink=oldLink + + logging.info("change Viewer (mew Metadatafile) %s"%self.metalink) + if vl: self.newViewer=newViewer return vl,msg @@ -1361,10 +1386,7 @@ class ECHO_resource(CatalogAware,Folder, ret= self.metaDataHash.get(fieldNameTest,empty) - if type(ret) is StringType: - return ret.decode('utf-8') - else: - return ret + return unicodify(ret) getFieldValue=getMDValue #depricated @@ -1981,7 +2003,7 @@ class ECHO_link(ECHO_externalLink): params['backLink']=self.aq_parent.absolute_url() params['startLink']=splitted[0]+"?"+urllib.urlencode(params) - + return self.REQUEST.RESPONSE.redirect(splitted[0]+"?"+urllib.urlencode(params)) else: return "" @@ -1992,10 +2014,10 @@ def manage_addECHO_linkForm(self): return pt() -def manage_addECHO_link(self,id,title,label,description="",contentType="",responsible="",link="",weight="",coords=[],credits=None,RESPONSE=None): +def manage_addECHO_link(self,id,title,label,description="",contentType="",responsible="",link="",weight="",coords=[],credits=None,linkType="external",RESPONSE=None): """Add an external Link""" - newObj=ECHO_link(id,link,title,label,description,contentType,responsible,credits,weight,coords) + newObj=ECHO_link(id,link,title,label,description,contentType,responsible,credits,weight,coords,linkType) self._setObject(id,newObj) @@ -2146,16 +2168,16 @@ class ECHO_collection(CatalogAware, Fold if obj.meta_type=="ECHO_mapText": if splitted[1]=="en": - obj.locale_en.pt_edit(REQUEST.form[key],None) + obj.locale_en.pt_edit(REQUEST.form[key],obj.locale_en.content_type) else: - obj.pt_edit(REQUEST.form[key],None) + obj.pt_edit(REQUEST.form[key],obj.content_type) else: text=obj.ZopeFind(obj,obj_metatypes=['ECHO_mapText']) if splitted[1]=="en": - text[0][1].locale_en.pt_edit(REQUEST.form[key],None) + text[0][1].locale_en.pt_edit(REQUEST.form[key],text[0][1].locale_en.content_type) else: - text[0][1].pt_edit(REQUEST.form[key],None) + text[0][1].pt_edit(REQUEST.form[key],text[0][1].content_type) if RESPONSE is not None: RESPONSE.redirect('manage_main') @@ -2612,9 +2634,9 @@ class ECHO_collection(CatalogAware, Fold ret="""""" return ret+""+getCollection(self,pwstr=pwstr)+"" - def createAllJSAreas(self): + def createAllJSAreas(self,mapColTypes=None): """create area calls for JavaScript""" - areas = self.getAllMapAreas() + areas = self.getAllMapAreas(mapColTypes=mapColTypes) return self.createJSAreas(areas) @@ -2839,9 +2861,11 @@ class ECHO_collection(CatalogAware, Fold """javascript""" return sendFile(self, 'js/hl_add.js', 'text/plain') - def getAllMapAreas(self,mapColTypes=['ECHO_collection','ECHO_resource','ECHO_link','ECHO_externalLink']): + def getAllMapAreas(self,mapColTypes=None): """Give list of coordinates""" - + if mapColTypes is None: + mapColTypes=['ECHO_collection','ECHO_resource','ECHO_link','ECHO_externalLink'] + areas=[] for entry in self.getSubCols(subColTypes=mapColTypes): object=entry @@ -3729,7 +3753,10 @@ class ECHO_root(Folder,Persistent,Implic def formatAscii(self,str,url=None): """ersetze ascii umbrueche durch
""" - #url=None + + if not str: + return "" + if url: retStr="" @@ -3741,9 +3768,10 @@ class ECHO_root(Folder,Persistent,Implic retStr+="""%s
"""%(strUrl,word) str=retStr if str: - return re.sub(r"[\n]","
",str) + str = re.sub(r"[\n]","
",str) + return unicodify(str) else: - return "" + return u"" link2html=vlp_xmlhelpers.link2html related2html=vlp_xmlhelpers.related2html @@ -4114,6 +4142,8 @@ class ECHO_linkList(ZopePageTemplate,ECH self.ZBindings_edit(self._default_bindings) if text is None: text = '' + if content_type is None: + content_type = self.content_type self.pt_edit(text, contentType)