--- ECHO_content/ECHO_collection.py 2005/10/28 17:49:45 1.245 +++ ECHO_content/ECHO_collection.py 2005/11/10 11:12:12 1.251 @@ -1037,6 +1037,8 @@ class ECHO_resource(CatalogAware,Folder, if RESPONSE is not None: RESPONSE.redirect('manage_main') + + def getMDValue(self,fieldNameTest,empty=None,generic=None): """get md values""" @@ -1060,13 +1062,22 @@ class ECHO_resource(CatalogAware,Folder, if not fieldName and hasattr(self.standardMD,ct): fieldName=getattr(self.standardMD,ct).generateMappingHash()[fieldNameTest][0] self._v_mapHash[ct][fieldNameTest]=fieldName - + if not fieldName: + fieldName=fieldNameTest if not empty: + #FIXME: warum gibt es manchmal kein metadatahas + try: return self.metaDataHash.get(fieldName,'!!NOT USED HERE in Type: %s'%self.contentType) - + except: + zLOG.LOG("ECHO (line 1069)",zLOG.ERROR,"no md hash for %s"%self.getId()) + return "" + else: - return self.metaDataHash.get(fieldName,empty) - + + return self.metaDataHash.get(fieldNameTest,empty) + + getFieldValue=getMDValue #depricated + def newMetaXML(self,project=None,startpage=None,xslt=None,thumbtemplate=None,topbar=None,digiLibTemplate=None,digiliburlprefix=None): """new index.meta""" self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') @@ -1296,9 +1307,9 @@ class ECHO_resource(CatalogAware,Folder, if RESPONSE: return RESPONSE.redirect('manage_main') - return "OK:",self.absolute_url().self,contentType + return "OK:",self.absolute_url(),self.contentType - def ECHO_getResourceMD(self,template="yes",back=None): + def ECHO_getResourceMD(self,template="yes",back=None,overwrite="no"): """Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource""" (metadict, error)=readMetadata(self.metalink) @@ -1308,7 +1319,7 @@ class ECHO_resource(CatalogAware,Folder, if not error=="": #Fehler beim Auslesen des Metafiles return "ERROR:",error - if not self.contentType: + if (not self.contentType) or (overwrite=="yes"): self.contentType=metadict['bib_type'].lower() if not (metadict['bib_type'].lower()==self.contentType.lower()): @@ -1435,7 +1446,19 @@ class ECHO_externalLink(Folder,ECHO_basi security.declarePublic('content_html') def content_html(self): """template fuer content""" - return ECHO_basis.content_html(self,'externalLink') + ret= ECHO_basis.content_html(self,'externalLink') + + try: + print "a" + return ret.decode('utf-8') + + except: + try: + print "b" + return ret.decode('latin-1') + except: + print "c" + return ret def __init__(self,id,link,title,label,description,contentType,responsible,credits,weight,coords): @@ -1508,7 +1531,8 @@ class ECHO_link(ECHO_externalLink): """external_link""" meta_type="ECHO_link" - manage_options = ECHO_externalLink.manage_options+( + + manage_options = ECHO_externalLink.manage_options+( {'label':'add links config','action':'ECHO_link_addLinksForm'}, ) @@ -1526,16 +1550,29 @@ class ECHO_link(ECHO_externalLink): def content_html(self): """template fuer link""" - + + if hasattr(self,"link_template"): ret=ECHO_basis.content_html(self,'link') + else: ret=ECHO_basis.content_html(self,'collection') - try: - return ret.decode('utf-8') - except: - return ret + + #return ret + return ret +# +# +# try: +# return ret.decode('utf-8') +# except: +# try: +# return ret.decode('latin-1') +# except: +# +# return ret +# + def index_html(self): """standard link"""