--- ECHO_content/ECHO_collection.py 2004/07/17 10:19:06 1.141
+++ ECHO_content/ECHO_collection.py 2004/07/20 16:24:44 1.148
@@ -46,7 +46,44 @@ import xml.dom.minidom
from ECHO_graphicalOverview import javaHandler,javaScriptMain
import ECHO_helpers
-def getCopyrightsFromForm(self,argv):
+def getRDFDescription(self,linkURL,urn=None,nameDef=None):
+ """rdf"""
+
+ ret=""
+ about=""""""
+ name="""%s"""
+ link="""%s"""
+ clickable="""%s"""
+ #link=""""""
+ type="""%s"""
+ #xlink=""""""
+ if not urn:
+ #urn="urn:"+re.sub('/',':',self.absolute_url())
+ urn=self.absolute_url()
+ about2=about%urn
+ if not nameDef:
+ if hasattr(self,'label') and not (self.label==""):
+ name2=name%self.label
+ elif not self.title=="":
+ name2=name%self.title
+ else:
+ name2=name%self.getId()
+
+ name2=re.sub('&','&',name2)
+ else:
+ name2=name%nameDef
+
+ linkURL=re.sub('http:','',linkURL)
+ linkURL2=re.sub('&','&',linkURL)
+ link2=link%(("http:"+linkURL2),("http:"+urllib.quote(linkURL)))
+ clickable2=clickable%"true"
+ type2=type%self.meta_type
+
+ #ret=about2+"\n"+name2+"\n"+link2+"\n"+type2+"\n"+clickable2+"\n"
+ ret=about2+"\n"+name2+"\n"+type2+"\n"+clickable2+"\n"
+ return ret
+
+def getCopyrightsFromForm(self,argv):
medias={}
partners={}
copyrights={}
@@ -477,6 +514,8 @@ def manage_addECHO_layoutTemplate(self,
REQUEST.RESPONSE.redirect(u+'/manage_main')
return ''
+
+
class ECHO_resource(Folder,Persistent):
"""ECHO Ressource"""
security=ClassSecurityInfo()
@@ -487,22 +526,56 @@ class ECHO_resource(Folder,Persistent):
getSubCols = ECHO_helpers.getSubCols
security.declareProtected('View','index_html')
- def getRDF(self):
+
+ def showRDF(self):
+ """showrdf"""
+ self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
+ ret="""\n\n"""
+ ret+=self.getRDF(urn="echo:collectionroot")+"\n"
+
+ ret+=""""""
+ return ret
+
+ def getRDF(self,urn=None):
"""rdf"""
+ ret=getRDFDescription(self,self.link,urn=urn)
+ return ret+self.createSubElementRDF(urn=urn)
+
+
+ def createSubElementRDF(self,urn=None):
+ """rdf list"""
+ if not urn:
+ urn=self.absolute_url()
ret=""
- about=""""""
- name="""%s"""
- link="""%s"""
- urn="urn:"+re.sub('/',':',self.absolute_url())
- about2=about%urn
- name2=name%self.getId()
- link2=link%urllib.quote(self.link)
+ rettemp="""\n"""%urn
+ flag=0
+
+ li="""\n"""
+ if not ('' in self.getFullTextXML(noredirect='Yes')):
+ nurn=self.absolute_url()+'/getFullTextXML'
+ rettemp+=li%nurn
+ flag=1
+ if not ('' in self.getImageView(noredirect='Yes')):
+ nurn=self.absolute_url()+'/getImageView'
+ rettemp+=li%nurn
+ flag=1
+
+ rettemp+=""
+
+ if flag==1:
+ ret+=rettemp
+
+ if not ('' in self.getFullTextXML(noredirect='Yes')):
+ nurn=self.absolute_url()+'/getFullTextXML'
+ ret+=getRDFDescription(self,self.absolute_url()+'/getFullTextXML',urn=nurn,nameDef="Fulltext")
+
+ if not ('' in self.getImageView(noredirect='Yes')):
+ nurn=self.absolute_url()+'/getImageView'
+ ret+=getRDFDescription(self,self.absolute_url()+'/getImageView',urn=nurn,nameDef="Image View")
- ret=about2+"\n"+name2+"\n"+link2+"\n"+""
return ret
-
def getAccessRightSelectorHTML(self,outlook="select"):
"""htmlselector"""
values=['free','mpiwg']
@@ -520,7 +593,7 @@ class ECHO_resource(Folder,Persistent):
else:
ret=""
for value in values:
- print
+
if value==self.getAccessRightMD():
ret+="""%s"""%(self.getId(),value,value)
else:
@@ -785,6 +858,34 @@ class ECHO_resource(Folder,Persistent):
else:
return "no fulltext available"
+
+ def getImageView(self,noredirect=None):
+ """getImages; give Imageviewr and if somthing goes wrong."""
+ try:
+ fh=urllib.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=re.sub('/mpiwg/online/','',archivepath)
+ imageurl="http://echo.mpiwg-berlin.mpg.de/zogilib?fn="+archivepath+"/"+imagetemp
+ if not noredirect:
+ self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
+ self.REQUEST.RESPONSE.redirect(imageurl)
+ else:
+ return imageurl
+ except:
+
+ if not noredirect:
+ self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
+ self.REQUEST.RESPONSE.write("no fulltext available")
+ else:
+ return "no images available"
+
+
def getCopyrightsHTML(self):
"""gib (link auf copyright link, mediatyp, institution, copyrightType, label von copyrightType) aus"""
@@ -1489,44 +1590,40 @@ class ECHO_collection(Folder, Persistent
path="/mpiwg/online/permanent/shipbuilding"
- def showRDF(self):
- """showrdf"""
- self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
- ret="""\n"""
- ret+=self.getRDF()+"\n"
- ret+=""""""
- return ret
-
- def getRDF(self):
+ def getRDF(self,urn=None):
"""rdf of the collection"""
+
contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection'])
- about=""""""
- name="""%s"""
- link="""%s"""
- urn="urn:"+re.sub('/',':',self.absolute_url())
-
- about2=about%urn
- name2=name%self.getId()
- link2=link%urllib.quote(self.absolute_url())
-
- ret=about2+"\n"+name2+"\n"+link2+"\n"+""
-
-
-
- li="""\n"""
+ ret=getRDFDescription(self,self.absolute_url(),urn=urn)
+
+ if not urn:
+ urn=self.absolute_url()
+
+ li="""\n"""
for content in contents:
ret+=content[1].getRDF()+"\n"
- ret+="""\n"""%urn
+ ret+="""\n"""%urn
for content in contents:
- nurn="urn:"+re.sub('/',':',content[1].absolute_url())
+ nurn=content[1].absolute_url()
ret+=li%nurn
return ret+""
+
+ def showRDF(self):
+ """showrdf"""
+ self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
+ ret="""\n\n"""
+ ret+=self.getRDF(urn="echo:collectionroot")+"\n"
+
+ ret+=""""""
+ return ret
+
+
def changeLabels(self):
"""change form"""
pt=PageTemplateFile('Products/ECHO_content/zpt/changeLabelsForm').__of__(self)
@@ -2230,36 +2327,34 @@ class ECHO_group(ECHO_collection):
security.declareProtected('View','index_html')
- def getRDF(self):
- """rdf of the collection"""
- contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection'])
- about=""""""
- name="""%s"""
-
-
-
- link="""%s"""
- urn="urn:"+re.sub('/',':',self.absolute_url())
+ def showRDF(self):
+ """showrdf"""
+ self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
+ ret="""\n\n"""
+ ret+=self.getRDF(urn="echo:collectionroot")+"\n"
- about2=about%urn
- name2=name%self.getId()
- link2=link%urllib.quote(self.absolute_url())
+ ret+=""""""
+
+ return ret
- ret=about2+"\n"+name2+"\n"+link2+"\n"+""
+ def getRDF(self,urn=None):
+ """rdf of the collection"""
+ contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection'])
+ ret=getRDFDescription(self,self.absolute_url(),urn=urn)
-
- urn="urn:"+re.sub('/',':',self.absolute_url())
- li="""\n"""
+ if not urn:
+ urn=self.absolute_url()
+ li="""\n"""
for content in contents:
ret+=content[1].getRDF()+"\n"
- ret+="""\n"""%urn
+ ret+="""\n"""%urn
for content in contents:
- nurn="urn:"+re.sub('/',':',content[1].absolute_url())
+ nurn=content[1].absolute_url()
ret+=li%nurn
return ret+""
@@ -2482,35 +2577,28 @@ class ECHO_root(Folder,Persistent,Implic
def showRDF(self):
"""showrdf"""
self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
- ret="""\n"""
- ret+=self.getRDF()+"\n"
+ ret="""\n\n"""
+ ret+=self.getRDF(urn="echo:collectionroot")+"\n"
+
ret+=""""""
return ret
- def getRDF(self):
+ def getRDF(self,urn=None):
"""rdf of the collection"""
- contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection'])
- about=""""""
- name="""%s"""
-
- urn="urn:"+re.sub('/',':',self.absolute_url())
+ contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection'])
- about2=about%urn
- name2=name%self.getId()
+ ret=getRDFDescription(self,self.absolute_url(),urn=urn)
-
- ret=about2+"\n"+name2+"\n"+""
-
- li="""\n"""
+ li="""\n"""
for content in contents:
ret+=content[1].getRDF()+"\n"
- ret+="""\n"""%urn
+ ret+="""\n"""%urn
for content in contents:
- nurn="urn:"+re.sub('/',':',content[1].absolute_url())
+ nurn=content[1].absolute_url()
ret+=li%nurn
return ret+""