version 1.5, 2009/04/16 15:40:42
|
version 1.6, 2010/10/11 13:14:59
|
Line 1206 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 1218 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 1240 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 1287 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] |