version 1.242, 2005/10/26 17:09:20
|
version 1.245, 2005/10/28 17:49:45
|
Line 946 class ECHO_resource(CatalogAware,Folder,
|
Line 946 class ECHO_resource(CatalogAware,Folder,
|
self.contentType=self.bib_type |
self.contentType=self.bib_type |
for data in self.metadata: |
for data in self.metadata: |
data_neu=re.sub('-','_',data) |
data_neu=re.sub('-','_',data) |
self.meta |
self.metaDataHash[data_neu]=getattr(self,data)[0:] |
DataHash[data_neu]=getattr(self,data)[0:] |
|
|
|
|
|
pt=zptFile(self, 'zpt/ChangeECHO_resource_metadata.zpt') |
pt=zptFile(self, 'zpt/ChangeECHO_resource_metadata.zpt') |
Line 1039 class ECHO_resource(CatalogAware,Folder,
|
Line 1038 class ECHO_resource(CatalogAware,Folder,
|
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
|
|
def getMDValue(self,fieldName,empty=None): |
def getMDValue(self,fieldNameTest,empty=None,generic=None): |
|
"""get md values""" |
|
#TODO: cache mappinghash |
|
|
|
fieldName=None |
|
if generic: |
|
ct=self.contentType.replace(" ","_").lower() |
|
|
|
#caching |
|
if not hasattr(self,'_v_mapHash'): #noch keine cachevariable |
|
self._v_mapHash={} |
|
|
|
tmp=self._v_mapHash.get(ct,None) |
|
if tmp: #teste ob type schon existiert |
|
fieldName=tmp.get(fieldNameTest,None) |
|
else: |
|
self._v_mapHash[ct]={} |
|
|
|
#noch nicht gecached |
|
if not fieldName and hasattr(self.standardMD,ct): |
|
fieldName=getattr(self.standardMD,ct).generateMappingHash()[fieldNameTest][0] |
|
self._v_mapHash[ct][fieldNameTest]=fieldName |
|
|
if not empty: |
if not empty: |
return self.metaDataHash.get(fieldName,'!!NOT USED HERE in Type: %s'%self.contentType) |
return self.metaDataHash.get(fieldName,'!!NOT USED HERE in Type: %s'%self.contentType) |
|
|
Line 1155 class ECHO_resource(CatalogAware,Folder,
|
Line 1176 class ECHO_resource(CatalogAware,Folder,
|
|
|
|
|
|
|
def getFieldValue(self,field): |
|
"""get value""" |
|
|
|
try: |
|
|
|
ret=self.metaDataHash[field] |
|
if ret == "": |
|
return None |
|
else: |
|
|
|
return ret |
|
except: |
|
return None |
|
|
|
def getMetaDataHash(self): |
def getMetaDataHash(self): |
"""md hash""" |
"""md hash""" |
return self.metaDataHash |
return self.metaDataHash |
|
|
def setFieldValue(self,field,value): |
def setFieldValue(self,field,value): |
"""get value""" |
"""get value""" |
|
#TODO: remove setFieldValue |
|
|
if not hasattr(self,'metaDataHash'): |
if not hasattr(self,'metaDataHash'): |
setattr(self,'metaDataHash',{}) |
setattr(self,'metaDataHash',{}) |
Line 1184 class ECHO_resource(CatalogAware,Folder,
|
Line 1192 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'] |
fields=['author','title','year'] |
|
|
for field in fields: |
for field in fields: |
setattr(self,'MD_'+field,self.getFieldValue(field)) |
setattr(self,'MD_'+field,self.getMDValue(field,generic="yes")) |
|
|
|
|
def findLabelsFromMapping(self,referenceType): |
def findLabelsFromMapping(self,referenceType): |
Line 1238 class ECHO_resource(CatalogAware,Folder,
|
Line 1247 class ECHO_resource(CatalogAware,Folder,
|
|
|
|
|
|
|
|
|
|
|
bibdata={} |
bibdata={} |
retdata={} |
retdata={} |
fieldlist=self.standardMD.fieldList |
fieldlist=self.standardMD.fieldList |
Line 1289 class ECHO_resource(CatalogAware,Folder,
|
Line 1296 class ECHO_resource(CatalogAware,Folder,
|
if RESPONSE: |
if RESPONSE: |
return RESPONSE.redirect('manage_main') |
return RESPONSE.redirect('manage_main') |
|
|
|
return "OK:",self.absolute_url().self,contentType |
|
|
def ECHO_getResourceMD(self,template="yes",back=None): |
def ECHO_getResourceMD(self,template="yes",back=None): |
"""Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource""" |
"""Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource""" |
(metadict, error)=readMetadata(self.metalink) |
(metadict, error)=readMetadata(self.metalink) |
Line 1915 class ECHO_collection(Folder, Persistent
|
Line 1924 class ECHO_collection(Folder, Persistent
|
|
|
def copySearchFields(self,RESPONSE=None): |
def copySearchFields(self,RESPONSE=None): |
"""copys import metadatafields to the object""" |
"""copys import metadatafields to the object""" |
resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource']) |
resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1) |
|
|
for resource in resources: |
for resource in resources: |
|
|
Line 1933 class ECHO_collection(Folder, Persistent
|
Line 1942 class ECHO_collection(Folder, Persistent
|
def reloadMetaDataFromStorage(self,RESPONSE=None): |
def reloadMetaDataFromStorage(self,RESPONSE=None): |
"""copy metadata from the storage to ECHO""" |
"""copy metadata from the storage to ECHO""" |
|
|
return reloadMetaDataFromStorage(self,RESPONSE=None) |
return reloadMetaDataFromStorage(self,RESPONSE) |
|
|
|
|
def getPartnerCopyright(self,name,sonst="generic"): |
def getPartnerCopyright(self,name,sonst="generic"): |
Line 2241 class ECHO_collection(Folder, Persistent
|
Line 2250 class ECHO_collection(Folder, Persistent
|
"""template fuer content""" |
"""template fuer content""" |
#print "NN",argv |
#print "NN",argv |
ret = ECHO_basis.content_html(self,'collection') |
ret = ECHO_basis.content_html(self,'collection') |
|
|
try: |
try: |
return ret.decode('utf-8') |
return ret.encode('utf-8') |
|
except: |
|
|
|
try: |
|
return ret.decode('latin-1') |
except: |
except: |
|
|
return ret |
return ret |
|
|
def getCredits(self): |
def getCredits(self): |