version 1.276, 2006/10/18 14:50:24
|
version 1.278, 2006/11/21 16:49:58
|
Line 68 import urllib
|
Line 68 import urllib
|
import xml.dom.minidom |
import xml.dom.minidom |
import ECHO_helpers |
import ECHO_helpers |
from ECHO_helpers import * |
from ECHO_helpers import * |
|
|
try: |
try: |
from ECHO_language import * |
from ECHO_language import * |
except: |
except: |
print "no echo_language" |
print "no echo_language" |
|
class ECHO_language: |
|
""" leere Klasse""" |
|
pass |
|
|
from ECHO_movie import * |
from ECHO_movie import * |
import vlp_xmlhelpers #TODO: vlp elemente aus echo herausnehmen |
import vlp_xmlhelpers #TODO: vlp elemente aus echo herausnehmen |
import xmlrpclib |
import xmlrpclib |
|
|
|
|
|
|
|
|
|
def normalizeCt(str): |
|
"""normalizes content_type""" |
|
#str= str.replace(" ","_") |
|
return str.replace("-"," ").lower() |
|
|
def setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordstrs=""): |
def setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordstrs=""): |
|
|
"""Allegemeine Informationen zu einer ECHO Collection""" |
"""Allegemeine Informationen zu einer ECHO Collection""" |
Line 1095 class ECHO_resource(CatalogAware,Folder,
|
Line 1106 class ECHO_resource(CatalogAware,Folder,
|
|
|
def getContentType(self): |
def getContentType(self): |
try: |
try: |
return self.contentType |
return normalizeCt(self.contentType) |
except: |
except: |
return "" |
return "" |
|
|
Line 1210 class ECHO_resource(CatalogAware,Folder,
|
Line 1221 class ECHO_resource(CatalogAware,Folder,
|
|
|
def changeECHO_resource_metadata_local(self,RESPONSE=None): |
def changeECHO_resource_metadata_local(self,RESPONSE=None): |
"""change metadata""" |
"""change metadata""" |
tags=self.findTagsFromMapping(self.contentType) |
tags=self.findTagsFromMapping(normalizeCt(self.contentType)) |
for field in tags[1]: |
for field in tags[1]: |
self.metaDataHash[self.getFieldTag(tags,field)]=self.REQUEST.form[self.getFieldTag(tags,field)][0:] |
self.metaDataHash[self.getFieldTag(tags,field)]=self.REQUEST.form[self.getFieldTag(tags,field)][0:] |
|
|
Line 1221 class ECHO_resource(CatalogAware,Folder,
|
Line 1232 class ECHO_resource(CatalogAware,Folder,
|
|
|
def changeECHO_resource_metadata(self,RESPONSE=None): |
def changeECHO_resource_metadata(self,RESPONSE=None): |
"""change metadata""" |
"""change metadata""" |
tags=self.findTagsFromMapping(self.contentType) |
tags=self.findTagsFromMapping(normalizeCt(self.contentType)) |
self.OSAS_meta={} |
self.OSAS_meta={} |
for field in tags[1]: |
for field in tags[1]: |
try: |
try: |
Line 1267 class ECHO_resource(CatalogAware,Folder,
|
Line 1278 class ECHO_resource(CatalogAware,Folder,
|
if generic: |
if generic: |
if self.contentType: |
if self.contentType: |
ct=self.contentType.replace(" ","_").lower() |
ct=self.contentType.replace(" ","_").lower() |
|
ct=self.contentType.replace("-","_").lower() |
else: |
else: |
zLOG.LOG("ECHO_collection (getMDValue)", zLOG.INFO, "no_content type for %s"%self.getId()) |
zLOG.LOG("ECHO_collection (getMDValue)", zLOG.INFO, "no_content type for %s"%self.getId()) |
ct="" |
ct="" |
Line 1275 class ECHO_resource(CatalogAware,Folder,
|
Line 1287 class ECHO_resource(CatalogAware,Folder,
|
if not hasattr(self,'_v_mapHash'): #noch keine cachevariable |
if not hasattr(self,'_v_mapHash'): #noch keine cachevariable |
self._v_mapHash={} |
self._v_mapHash={} |
|
|
|
|
|
|
tmp=self._v_mapHash.get(ct,None) |
tmp=self._v_mapHash.get(ct,None) |
if tmp: #teste ob type schon existiert |
if tmp: #teste ob type schon existiert |
fieldName=tmp.get(fieldNameTest,None) |
fieldName=tmp.get(fieldNameTest,None) |
else: |
else: |
self._v_mapHash[ct]={} |
self._v_mapHash[ct]={} |
|
|
|
|
#noch nicht gecached |
#noch nicht gecached |
if not fieldName and hasattr(self.standardMD,ct): |
if not fieldName and hasattr(self.standardMD,ct): |
fieldName=getattr(self.standardMD,ct).generateMappingHash()[fieldNameTest][0] |
fieldName=getattr(self.standardMD,ct).generateMappingHash()[fieldNameTest][0] |
Line 1291 class ECHO_resource(CatalogAware,Folder,
|
Line 1306 class ECHO_resource(CatalogAware,Folder,
|
#FIXME: warum gibt es manchmal kein metadatahas |
#FIXME: warum gibt es manchmal kein metadatahas |
try: |
try: |
|
|
ret =self.metaDataHash.get(fieldName,'!!NOT USED HERE in Type: %s'%self.contentType) |
ret =self.metaDataHash.get(fieldName,'!!NOT USED HERE in Type: %s'%normalizeCt(self.contentType)) |
except: |
except: |
zLOG.LOG("ECHO (line 1069)",zLOG.ERROR,"no md hash for %s"%self.getId()) |
zLOG.LOG("ECHO (line 1069)",zLOG.ERROR,"no md hash for %s"%self.getId()) |
return "" |
return "" |
Line 1457 class ECHO_resource(CatalogAware,Folder,
|
Line 1472 class ECHO_resource(CatalogAware,Folder,
|
fields=[] |
fields=[] |
fieldlist=self.standardMD.fieldList |
fieldlist=self.standardMD.fieldList |
|
|
tags=self.findTagsFromMapping(self.contentType) |
tags=self.findTagsFromMapping(normalizeCt(self.contentType)) |
self.referencetypes=tags[2] |
self.referencetypes=tags[2] |
for referenceTypeF in self.referencetypes: |
for referenceTypeF in self.referencetypes: |
|
|
if referenceTypeF[1].title.lower() == 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 |
Line 1499 class ECHO_resource(CatalogAware,Folder,
|
Line 1515 class ECHO_resource(CatalogAware,Folder,
|
for referenceTypeF in temp: |
for referenceTypeF in temp: |
#print referenceType |
#print referenceType |
|
|
if referenceTypeF[1].title.lower() == 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 |
Line 1526 class ECHO_resource(CatalogAware,Folder,
|
Line 1542 class ECHO_resource(CatalogAware,Folder,
|
|
|
return "ERROR:",error,self.absolute_url() |
return "ERROR:",error,self.absolute_url() |
|
|
self.contentType=metadict['bib_type'][0:] |
self.contentType=normalizeCt(metadict['bib_type'])[0:] |
fields=self.findTagsFromMapping(self.contentType) |
fields=self.findTagsFromMapping(normalizeCt(self.contentType)) |
|
|
#fields=self.findLabelsFromMapping(self.contentType) |
#fields=self.findLabelsFromMapping(normalizeCt(self.contentType)) |
for field in fields[1]: |
for field in fields[1]: |
|
|
if self.isDefinedInThisSet(fields,field): |
if self.isDefinedInThisSet(fields,field): |
Line 1541 class ECHO_resource(CatalogAware,Folder,
|
Line 1557 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 |
return "OK:",self.absolute_url(),normalizeCt(self.contentType) |
|
|
def ECHO_getResourceMD(self,template="yes",back=None,overwrite="no"): |
def ECHO_getResourceMD(self,template="yes",back=None,overwrite="no"): |
"""Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource""" |
"""Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource""" |
Line 1554 class ECHO_resource(CatalogAware,Folder,
|
Line 1570 class ECHO_resource(CatalogAware,Folder,
|
return "ERROR:",error |
return "ERROR:",error |
|
|
if (not self.contentType) or (overwrite=="yes"): |
if (not self.contentType) or (overwrite=="yes"): |
self.contentType=metadict['bib_type'].lower() |
self.contentType=normalizeCt(normalizeCt(metadict['bib_type']).lower()) |
|
|
if not (metadict['bib_type'].lower()==self.contentType.lower()): |
if not (normalizeCt(metadict['bib_type']).lower()==normalizeCt(self.contentType).lower()): |
self.REQUEST.SESSION['contentStorage']=metadict['bib_type'] |
self.REQUEST.SESSION['contentStorage']=normalizeCt(metadict['bib_type']) |
self.REQUEST.SESSION['contentZope']=self.contentType |
self.REQUEST.SESSION['contentZope']=normalizeCt(self.contentType) |
|
|
return zptFile(self, 'zpt/ECHO_getResourceMDErrorContentType.zpt')() |
return zptFile(self, 'zpt/ECHO_getResourceMDErrorContentType.zpt')() |
|
|
Line 1639 class ECHO_resource(CatalogAware,Folder,
|
Line 1655 class ECHO_resource(CatalogAware,Folder,
|
|
|
def generate_label(self): |
def generate_label(self): |
"""Erzeugt_standard_Label aus Template""" |
"""Erzeugt_standard_Label aus Template""" |
pt=getattr(self,"label_template_"+self.contentType.lower()) |
pt=getattr(self,"label_template_"+normalizeCt(self.contentType).lower()) |
|
|
self.label=pt()[0:] |
self.label=pt()[0:] |
return pt() |
return pt() |
Line 1648 class ECHO_resource(CatalogAware,Folder,
|
Line 1664 class ECHO_resource(CatalogAware,Folder,
|
|
|
def generate_title(self,RESPONSE=None): |
def generate_title(self,RESPONSE=None): |
"""Erzeugt_standard_Label aus Template""" |
"""Erzeugt_standard_Label aus Template""" |
pt=getattr(self,"label_template_"+self.contentType.lower()) |
pt=getattr(self,"label_template_"+normalizeCt(self.contentType).lower()) |
|
|
self.title=pt()[0:] |
self.title=pt()[0:] |
|
|
Line 2414 class ECHO_collection(CatalogAware, Fold
|
Line 2430 class ECHO_collection(CatalogAware, Fold
|
for resource in dom.getElementsByTagName('resource'): |
for resource in dom.getElementsByTagName('resource'): |
link=getText(resource.getElementsByTagName('link')[0].childNodes) |
link=getText(resource.getElementsByTagName('link')[0].childNodes) |
label=getText(resource.getElementsByTagName('label')[0].childNodes) |
label=getText(resource.getElementsByTagName('label')[0].childNodes) |
|
pageimglink=getText(resource.getElementsByTagName('pageimglink')[0].childNodes) |
#splitted=link.split("?")[0].split("/") |
#splitted=link.split("?")[0].split("/") |
#id=splitted[len(splitted)-1].encode('ascii') |
#id=splitted[len(splitted)-1].encode('ascii') |
id=re.sub(" ","_",label).encode('ascii') |
id=re.sub(" ","_",label).encode('ascii') |
|
|
ret+="<p>"+label+"</p>" |
ret+="<p>"+label+"</p>" |
manage_addECHO_resource(self,id,label.encode('ascii'),label.encode('ascii'),"","","",link.encode('ascii'),"","") |
manage_addECHO_resource(self,id,label.encode('ascii'),label.encode('ascii'),"","",pageimglink.encode('ascii'),link.encode('ascii'),"","") |
return ret |
return ret |
|
|
security.declarePublic('getImageTag') |
security.declarePublic('getImageTag') |
Line 3628 class ECHO_root(Folder,Persistent,Implic
|
Line 3645 class ECHO_root(Folder,Persistent,Implic
|
return "" |
return "" |
|
|
link2html=vlp_xmlhelpers.link2html |
link2html=vlp_xmlhelpers.link2html |
|
related2html=vlp_xmlhelpers.related2html |
|
|
xml2html=vlp_xmlhelpers.xml2html |
xml2html=vlp_xmlhelpers.xml2html |
|
|
Line 3984 class ECHO_linkList(ZopePageTemplate,ECH
|
Line 4002 class ECHO_linkList(ZopePageTemplate,ECH
|
def getcontentType(self): |
def getcontentType(self): |
"""get contentType""" |
"""get contentType""" |
if hasattr(self,'contentType'): |
if hasattr(self,'contentType'): |
return self.contentType |
return normalizeCt(self.contentType) |
else: |
else: |
return 0 |
return 0 |
|
|