--- ECHO_content/ECHO_helpers.py 2008/12/17 12:02:53 1.95 +++ ECHO_content/ECHO_helpers.py 2009/04/16 15:40:42 1.98 @@ -19,6 +19,7 @@ import bz2 import xmlrpclib import sys import logging +import amara #erstzt logging def logger(txt,method,txt2): @@ -91,18 +92,20 @@ class ECHO_basis: # Managment for the PID def setPID(self,pid): """set the pid""" + logging.debug(self.getID()+" PID set to "+pid) self.pid=pid return True def getPID(self): """get the pid""" + pid =getattr(self,'pid',None) - # teste ob dieses pid wirklich die des objektes und nich vererbt wurde - if pid == self.getParentPID(): - return None - else: - return pid + if pid == self.getParentPID(): + return None + else: + return pid + def getParentPID(self): """get the PID of the parent""" @@ -140,7 +143,8 @@ 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" @@ -203,8 +207,8 @@ class ECHO_basis: nurn=self.absolute_url()+'/showMetaDataXML' ret+=getRDFDescription(self,self.absolute_url()+'/showMetaDataXML',urn=nurn,nameDef="Metadata",typeName="ECHO_metaData") + return ret - def content_html_XMLRpc(self): """xml_rpc_version""" return encodeRPC(self.content_html()) @@ -650,7 +654,17 @@ def readFieldFromXML(meta_url,parent,fie return getText(field[0].childNodes) - +def readFieldFromXML_xpath(meta_url,xpath): + """xpath auf meta_url""" + #logging.debug("try to parse:"+meta_url) + #logging.debug("Xtry to parse xpath:"+xpath) + doc = amara.parse(meta_url) + #logging.debug("have:"+doc.xml()) + node= doc.xml_xpath(xpath) + if node is None: + return None + + return unicode(node[0]) def urlopen(url): """urlopen mit timeout""" @@ -819,7 +833,7 @@ def reloadMetaDataFromStorage(self,RESPO return ret -def getRDFDescription(self,linkURL,urn=None,nameDef=None,typeName=None): +def getRDFDescription(self,linkURL,urn=None,nameDef=None,typeName=None,ap=""): """rdf""" ret="" @@ -829,7 +843,14 @@ def getRDFDescription(self,linkURL,urn=N clickable="""%s""" #link="""""" type="""%s""" - #xlink="""""" + + #xlink="""""" + + if ap=="": + ap2="" + else: + ap2 = """%s"""%ap + if not urn: #urn="urn:"+re.sub('/',':',self.absolute_url()) urn=self.absolute_url() @@ -856,8 +877,9 @@ def getRDFDescription(self,linkURL,urn=N else: type2=type%typeName + #ret=about2+"\n"+name2+"\n"+link2+"\n"+type2+"\n"+clickable2+"\n" - ret=about2+"\n"+name2+"\n"+type2+"\n"+clickable2+"\n" + ret=about2+"\n"+name2+"\n"+type2+"\n"+clickable2+"\n"+ap2+"\n" return ret def getCopyrightsFromForm(self,argv):