version 1.3, 2009/04/14 16:31:27
|
version 1.6, 2010/10/11 13:14:59
|
Line 208 class ECHO_resource(CatalogAware,Folder,
|
Line 208 class ECHO_resource(CatalogAware,Folder,
|
|
|
|
|
ret=getRDFDescription(self,self.link,urn=urn,ap=ap) |
ret=getRDFDescription(self,self.link,urn=urn,ap=ap) |
logging.debug("ret:"+repr(ret)) |
|
return ret+self.createSubElementRDF(urn=urn) |
return ret+self.createSubElementRDF(urn=urn) |
|
|
|
|
Line 436 class ECHO_resource(CatalogAware,Folder,
|
Line 436 class ECHO_resource(CatalogAware,Folder,
|
"""create ImageUrl""" |
"""create ImageUrl""" |
|
|
|
|
resourcepath=readFieldFromXML(self.metalink,'resource','archive-path') |
resourcepath=readFieldFromXML_xpath(self.metalink,'//resource/archive-path') |
|
|
digiliburlprefix=readFieldFromXML(self.metalink,'texttool','digiliburlprefix') |
digiliburlprefix=readFieldFromXML(self.metalink,'texttool','digiliburlprefix') |
images=readFieldFromXML(self.metalink,'texttool','image') |
images=readFieldFromXML(self.metalink,'texttool','image') |
Line 455 class ECHO_resource(CatalogAware,Folder,
|
Line 455 class ECHO_resource(CatalogAware,Folder,
|
def copyTitleToInfoXML(self,RESPONSE=None): |
def copyTitleToInfoXML(self,RESPONSE=None): |
"""copy title from the resource""" |
"""copy title from the resource""" |
presentationXML=readFieldFromXML(self.metalink,'texttool','presentation') |
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 (not presentationXML) or (not resourcepath): |
if RESPONSE: |
if RESPONSE: |
RESPONSE.write("Error: %s\n"%self.getId()) |
RESPONSE.write("Error: %s\n"%self.getId()) |
Line 654 class ECHO_resource(CatalogAware,Folder,
|
Line 654 class ECHO_resource(CatalogAware,Folder,
|
|
|
def getArchivePathFromMetadata(self): |
def getArchivePathFromMetadata(self): |
try: |
try: |
fh=ECHO_helpers.urlopen(self.metalink) |
archivePath=readFieldFromXML_xpath(self.metalink,"//resource/archive-path") |
dom=xml.dom.minidom.parse(fh) |
return archivePath |
archivePath=dom.getElementsByTagName('archive-path') |
|
text = getText(archivePath[0].childNodes) |
|
return text |
|
except: |
except: |
return "" |
return "" |
|
|
def getImageView(self,noredirect=None,onlyPath=None): |
def getImageView(self,noredirect=None,onlyPath=None): |
"""getImages; give Imageviewr and <error></error> if somthing goes wrong.""" |
"""getImages; give Imageviewr and <error></error> if somthing goes wrong.""" |
try: |
try: |
fh=ECHO_helpers.urlopen(self.metalink) |
archivePath=readFieldFromXML_xpath(self.metalink,"//resource/archive-path") |
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=re.sub('/mpiwg/online/','',archivepath) |
archivepath=re.sub('/mpiwg/online/','',archivepath) |
imageurl="http://echo.mpiwg-berlin.mpg.de/zogilib?fn="+archivepath+"/"+imagetemp |
imageurl="http://echo.mpiwg-berlin.mpg.de/zogilib?fn="+archivepath+"/"+imagetemp |
fh.close() |
fh.close() |
Line 1215 class ECHO_resource(CatalogAware,Folder,
|
Line 1206 class ECHO_resource(CatalogAware,Folder,
|
|
|
def getMetaDataHash(self): |
def getMetaDataHash(self): |
"""md hash""" |
"""md hash""" |
return self.metaDataHash |
|
|
return getattr(self,'metaDataHash',{}) |
|
|
def setFieldValue(self,field,value): |
def setFieldValue(self,field,value): |
"""get value""" |
"""get value""" |
Line 1227 class ECHO_resource(CatalogAware,Folder,
|
Line 1219 class ECHO_resource(CatalogAware,Folder,
|
|
|
def copySearchFields(self): |
def copySearchFields(self): |
"""copys metadatafields to the object""" |
"""copys metadatafields to the object""" |
fields=['author','title','year'] |
|
|
|
|
# Zunaechst die gnerischen felder |
|
fields=['author','title','year'] |
for field in fields: |
for field in fields: |
setattr(self,'MD_'+field,self.getMDValue(field,generic="yes")) |
setattr(self,'MD_'+field,self.getMDValue(field,generic="yes")) |
|
|
|
# jetzt die spezifischen |
|
for field in self.getMetaDataHash().keys(): |
|
if not (field in fields): |
|
logging.debug("ECHO_resource (copySearchFields) mapping: "+field) |
|
setattr(self,'MD_'+field,self.getMDValue(field)) |
|
|
|
|
|
|
|
|
def findLabelsFromMapping(self,referenceType): |
def findLabelsFromMapping(self,referenceType): |
"""gib hash mit label -> generic zurueck""" |
"""gib hash mit label -> generic zurueck""" |
Line 1249 class ECHO_resource(CatalogAware,Folder,
|
Line 1250 class ECHO_resource(CatalogAware,Folder,
|
fieldlist=self.standardMD.fieldList |
fieldlist=self.standardMD.fieldList |
|
|
tags=self.findTagsFromMapping(normalizeCt(self.contentType)) |
tags=self.findTagsFromMapping(normalizeCt(self.contentType)) |
|
logging.debug("ECHO_resource(findLabelsFromMapping)"+repr(tags)) |
self.referencetypes=tags[2] |
self.referencetypes=tags[2] |
for referenceTypeF in self.referencetypes: |
for referenceTypeF in self.referencetypes: |
|
|
|
logging.debug("--- compare"+normalizeCt(referenceTypeF[1].title)+normalizeCt(referenceType.lower())) |
if normalizeCt(referenceTypeF[1].title) == normalizeCt(referenceType.lower()): |
if normalizeCt(referenceTypeF[1].title) == normalizeCt(referenceType.lower()): |
|
|
try: |
try: |
bibdata[referenceTypeF[1].title]=referenceTypeF[1].fields |
bibdata[referenceTypeF[1].title]=referenceTypeF[1].fields |
referenceType=referenceTypeF[1].title |
referenceType=referenceTypeF[1].title |
|
logging.debug("------fields:"+repr(fields)) |
except: |
except: |
bibdata[referenceType]=referenceTypeF[1].fields |
bibdata[referenceType]=referenceTypeF[1].fields |
|
|
Line 1296 class ECHO_resource(CatalogAware,Folder,
|
Line 1299 class ECHO_resource(CatalogAware,Folder,
|
bibdata[referenceTypeF[1].title]=referenceTypeF[1].fields |
bibdata[referenceTypeF[1].title]=referenceTypeF[1].fields |
referenceType=referenceTypeF[1].title |
referenceType=referenceTypeF[1].title |
except: |
except: |
|
logging.debug("Error in ECHOresource(findTagsFromMapping): %s %s"%(sys.exc_info[0],sys.exc_info[1])) |
bibdata[referenceType]=referenceTypeF[1].fields |
bibdata[referenceType]=referenceTypeF[1].fields |
bibdata['data']=referenceTypeF[1] |
bibdata['data']=referenceTypeF[1] |
fields=bibdata[referenceType] |
fields=bibdata[referenceType] |