--- ECHO_content/ECHO_resource.py 2008/12/04 21:27:00 1.1 +++ ECHO_content/ECHO_resource.py 2009/04/16 15:40:42 1.5 @@ -23,7 +23,10 @@ from Globals import Persistent, package_ from Acquisition import Implicit from Products.ZCatalog.CatalogPathAwareness import CatalogAware from Products.ZCTextIndex.ZCTextIndex import manage_addLexicon -from Products.MetaDataProvider.MetaDataClient import MetaDataClient +try: + from Products.MetaDataProvider.MetaDataClient import MetaDataClient +except: + print "no metadata services" import urllib import urllib2 import cgi @@ -201,7 +204,11 @@ class ECHO_resource(CatalogAware,Folder, def getRDF(self,urn=None): """rdf""" - ret=getRDFDescription(self,self.link,urn=urn) + ap = self.getArchivePathFromMetadata() + + + ret=getRDFDescription(self,self.link,urn=urn,ap=ap) + return ret+self.createSubElementRDF(urn=urn) @@ -429,7 +436,7 @@ class ECHO_resource(CatalogAware,Folder, """create ImageUrl""" - resourcepath=readFieldFromXML(self.metalink,'resource','archive-path') + resourcepath=readFieldFromXML_xpath(self.metalink,'//resource/archive-path') digiliburlprefix=readFieldFromXML(self.metalink,'texttool','digiliburlprefix') images=readFieldFromXML(self.metalink,'texttool','image') @@ -448,7 +455,7 @@ class ECHO_resource(CatalogAware,Folder, def copyTitleToInfoXML(self,RESPONSE=None): """copy title from the resource""" presentationXML=readFieldFromXML(self.metalink,'texttool','presentation') - resourcepath=readFieldFromXML(self.metalink,'resource','archive-path') + resourcepath=readFieldFromXML_xpath(self.metalink,'//resource/archive-path') if (not presentationXML) or (not resourcepath): if RESPONSE: RESPONSE.write("Error: %s\n"%self.getId()) @@ -645,17 +652,18 @@ class ECHO_resource(CatalogAware,Folder, """gibt pfad zum image aus""" return self.getImageView(noredirect="yes",onlyPath="yes") + def getArchivePathFromMetadata(self): + try: + archivePath=readFieldFromXML_xpath(self.metalink,"//resource/archive-path") + return archivePath + except: + return "" + def getImageView(self,noredirect=None,onlyPath=None): """getImages; give Imageviewr and if somthing goes wrong.""" try: - fh=ECHO_helpers.urlopen(self.metalink) - dom=xml.dom.minidom.parse(fh) - texttools=dom.getElementsByTagName('texttool') - text=texttools[0].getElementsByTagName('image') - imagetemp=getText(text[0].childNodes) - - text=dom.getElementsByTagName('archive-path') - archivepath=getText(text[0].childNodes) + archivePath=readFieldFromXML_xpath(self.metalink,"//resource/archive-path") + archivepath=re.sub('/mpiwg/online/','',archivepath) imageurl="http://echo.mpiwg-berlin.mpg.de/zogilib?fn="+archivepath+"/"+imagetemp fh.close()