--- ECHO_content/ECHO_helpers.py 2009/04/20 20:24:39 1.100
+++ ECHO_content/ECHO_helpers.py 2012/01/03 13:02:31 1.104
@@ -20,6 +20,7 @@ import xmlrpclib
import sys
import logging
import amara
+from xml.sax.saxutils import escape
#erstzt logging
def logger(txt,method,txt2):
@@ -92,7 +93,7 @@ class ECHO_basis:
# Managment for the PID
def setPID(self,pid):
"""set the pid"""
- logging.debug(self.getID()+" PID set to "+pid)
+ logging.debug(self.getId()+" PID set to "+pid)
self.pid=pid
return True
@@ -143,25 +144,25 @@ class ECHO_basis:
def showRDF(self):
"""showrdf"""
self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
- ret="""\n\n"""
+ ret="""\n\n"""
ret+=self.getRDF(urn="echo:collectionroot")+"\n"
- ret+=""""""
+ ret+=""""""
return ret
def RDF(self):
"""showrdf"""
self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
- ret="""\n\n"""
+ ret="""\n\n"""
ret+=self.getRDF(urn=self.absolute_url())+"\n"
- ret+=""""""
+ ret+=""""""
return ret
@@ -799,14 +800,19 @@ def ECHO_rerenderLinksMD(self,obj=None,t
if entry[1].meta_type == 'ECHO_resource':
try:
entry[1].ECHO_getResourceMD(template="no",overwrite="yes")
+ logging.debug("ECHO_rerenderLinksMD: gotMD")
if "title" in types:
entry[1].generate_title()
+ logging.debug("ECHO_rerenderLinksMD: generatedTitle")
if "label" in types:
entry[1].generate_label()
- ret+="OK:"+entry[0]+"-- "+entry[1].getTitle().decode('utf-8')+"-- "+entry[1].getTitle().decode('utf-8')+"
"
+ logging.debug("ECHO_rerenderLinksMD: generatedLabel")
+ ret+="OK:"+entry[0]+"-- "+self.unicodify(entry[1].getTitle())+"-- "+self.unicodify(entry[1].getTitle())+"
"
except:
+
ret+="Error:"+entry[0]+"
"
-
+ logging.debug("ECHO_rerenderLinksMD: error")
+ logging.debug("%s %s"%(sys.exc_info()[0],sys.exc_info()[1]))
@@ -857,11 +863,11 @@ def getRDFDescription(self,linkURL,urn=N
about2=about%urn
if not nameDef:
if hasattr(self,'label') and not (self.label==""):
- name2=name%self.label
+ name2=name%escape(self.label)
elif not self.title=="":
- name2=name%self.title
+ name2=name%escape(self.title)
else:
- name2=name%self.getId()
+ name2=name%escape(self.getId())
name2=re.sub('&','&',name2)
else:
@@ -879,11 +885,11 @@ def getRDFDescription(self,linkURL,urn=N
- #ret=about2+"\n"+name2+"\n"+link2+"\n"+type2+"\n"+clickable2+"\n"
+ #ret=about2+"\n"+name2+"\n"+link2+"\n"+type2+"\n"+clickable2+"\n"
try:
- ret=about2+"\n"+name2+"\n"+type2+"\n"+clickable2+"\n"+ap2+"\n"
+ ret=about2+"\n"+name2+"\n"+type2+"\n"+clickable2+"\n"+ap2+"\n"
except:
- ret=self.unicodify(about2)+"\n"+self.unicodify(name2)+"\n"+self.unicodify(type2)+"\n"+self.unicodify(clickable2)+"\n"+self.unicodify(ap2)+"\n"
+ ret=self.unicodify(about2)+"\n"+self.unicodify(name2)+"\n"+self.unicodify(type2)+"\n"+self.unicodify(clickable2)+"\n"+self.unicodify(ap2)+"\n"
return ret
@@ -1076,12 +1082,13 @@ def writeMetadata(url,metadict,project=N
try:
dom=xml.dom.minidom.parseString(geturl)
+
except:
logger("ECHO writeMetadata",logging.ERROR,"Cannot parse: "+url+"
"+geturl)
return (None,"Cannot parse: "+url+"
"+geturl)
-
+ logging.debug("getting:"+geturl)
metanodes=dom.getElementsByTagName('bib')
if not metanodes:
@@ -1157,6 +1164,7 @@ def readMetadata(url):
"""Methode zum Auslesen der Metadateninformation zu einer Resource
Vorerst noch Typ bib"""
+ logging.debug("getting:" +url)
metadict={}
try:
@@ -1192,7 +1200,7 @@ def readMetadata(url):
try:
#print urllib.unquote(getText(node.childNodes)),getText(node.childNodes)
#metadict[re.sub('-','_',node.tagName.lower())]=urllib.unquote(getText(node.childNodes))
- metadict[re.sub('-','_',node.tagName.lower())]=getText(node.childNodes)
+ metadict[node.tagName]=getText(node.childNodes)
except:
"""nothing"""