--- ECHO_content/ECHO_collection.py 2004/07/07 13:56:57 1.135
+++ ECHO_content/ECHO_collection.py 2004/07/18 17:11:32 1.146
@@ -29,7 +29,7 @@ from Products.PageTemplates.ZopePageTemp
from Globals import Persistent, package_home
from Acquisition import Implicit
from ECHO_helpers import displayTypes
-
+import urllib
try:
from psycopg import libpq
@@ -46,7 +46,41 @@ 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"""
+ #link=""""""
+ type="""%s"""
+ #xlink=""""""
+ if not urn:
+ urn="urn:"+re.sub('/',':',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)))
+
+ type2=type%self.meta_type
+
+ ret=about2+"\n"+name2+"\n"+link2+"\n"+type2+"\n"+"\n"
+ return ret
+
+def getCopyrightsFromForm(self,argv):
medias={}
partners={}
copyrights={}
@@ -477,6 +511,8 @@ def manage_addECHO_layoutTemplate(self,
REQUEST.RESPONSE.redirect(u+'/manage_main')
return ''
+
+
class ECHO_resource(Folder,Persistent):
"""ECHO Ressource"""
security=ClassSecurityInfo()
@@ -486,6 +522,46 @@ class ECHO_resource(Folder,Persistent):
getSubCols = ECHO_helpers.getSubCols
+ security.declareProtected('View','index_html')
+
+ 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()
+
+
+ def createSubElementRDF(self):
+ """rdf list"""
+ urn="urn:"+re.sub('/',':',self.absolute_url())
+ ret=""
+
+ rettemp="""\n"""%urn
+ flag=0
+
+ li="""\n"""
+ if not ('' in self.getFullTextXML(noredirect='Yes')):
+ nurn="urn:"+re.sub('/',':',self.absolute_url()+'/getFullTextXML')
+ rettemp+=li%nurn
+ flag=1
+ rettemp+=""
+
+ if flag==1:
+ ret+=rettemp
+
+ if not ('' in self.getFullTextXML(noredirect='Yes')):
+ ret+=getRDFDescription(self,self.absolute_url()+'/getFullTextXML',urn=self.absolute_url()+'/getFullTextXML',nameDef="Fulltext")
+
+ return ret
+
def getAccessRightSelectorHTML(self,outlook="select"):
"""htmlselector"""
values=['free','mpiwg']
@@ -650,7 +726,8 @@ class ECHO_resource(Folder,Persistent):
path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server
path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server
-
+ path=re.sub('http://foxridge.rz-berlin.mpg.de:8080','',path) # falls foxridge als server
+ path=re.sub('http://foxridge.rz-berlin.mpg.de','',path) # falls foxridge als server
path=re.sub('/index.meta','',path)
@@ -710,6 +787,8 @@ class ECHO_resource(Folder,Persistent):
path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server
path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server
+ path=re.sub('http://foxridge.rz-berlin.mpg.de:8080','',path) # falls foxridge als server
+ path=re.sub('http://foxridge.rz-berlin.mpg.de','',path) # falls foxridge als server
return urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines()
@@ -751,8 +830,9 @@ class ECHO_resource(Folder,Persistent):
texttools=dom.getElementsByTagName('texttool')
text=texttools[0].getElementsByTagName('text')
texturl=getText(text[0].childNodes)
- self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
+
if not noredirect:
+ self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
self.REQUEST.RESPONSE.redirect(texturl)
else:
return texturl
@@ -1468,6 +1548,38 @@ class ECHO_collection(Folder, Persistent
path="/mpiwg/online/permanent/shipbuilding"
+ 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 of the collection"""
+
+ contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection'])
+
+ ret=getRDFDescription(self,self.absolute_url(),urn=urn)
+
+ if not urn:
+ urn="urn:"+re.sub('/',':',self.absolute_url())
+
+ li="""\n"""
+
+
+ for content in contents:
+ ret+=content[1].getRDF()+"\n"
+
+ ret+="""\n"""%urn
+ for content in contents:
+ nurn="urn:"+re.sub('/',':',content[1].absolute_url())
+ ret+=li%nurn
+ return ret+""
+
+
def changeLabels(self):
"""change form"""
pt=PageTemplateFile('Products/ECHO_content/zpt/changeLabelsForm').__of__(self)
@@ -1711,6 +1823,7 @@ class ECHO_collection(Folder, Persistent
ret+=""+label+"
"
manage_addECHO_resource(self,id,label.encode('ascii'),label.encode('ascii'),"","","",link.encode('ascii'),"","")
return ret
+
def getImageTag(self):
"""GetTag"""
try:
@@ -2169,6 +2282,28 @@ class ECHO_group(ECHO_collection):
)
security.declareProtected('View','index_html')
+
+ 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:"+re.sub('/',':',self.absolute_url())
+ li="""\n"""
+
+
+ for content in contents:
+ ret+=content[1].getRDF()+"\n"
+
+ ret+="""\n"""%urn
+ for content in contents:
+ nurn="urn:"+re.sub('/',':',content[1].absolute_url())
+ ret+=li%nurn
+ return ret+""
+
def index_html(self):
"""standard page"""
displayedObjects=self.ZopeFind(self,obj_metatypes=displayTypes)
@@ -2384,6 +2519,35 @@ class ECHO_root(Folder,Persistent,Implic
security=ClassSecurityInfo()
meta_type="ECHO_root"
+
+ 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 of the collection"""
+
+ contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection'])
+
+ ret=getRDFDescription(self,self.absolute_url(),urn=urn)
+
+ li="""\n"""
+
+
+ for content in contents:
+ ret+=content[1].getRDF()+"\n"
+
+ ret+="""\n"""%urn
+ for content in contents:
+ nurn="urn:"+re.sub('/',':',content[1].absolute_url())
+ ret+=li%nurn
+ return ret+""
+
def showContent(self,path):
"""return content/html"""
@@ -2837,16 +3001,17 @@ class ECHO_root(Folder,Persistent,Implic
for resource in self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1):
echo_url=resource[1].absolute_url()
- if resource[1].getFullTextXML(noredirect="yes"):
- if hasattr(resource[1],'link'):
- viewer_url=echo_url+"/getMetaDataXML"
- else:
- viewer_url="NO URL"
- if filter:
- if re.search(filter,viewer_url):
- ret+="""\n"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(viewer_url,safe='/:?'))
- else:
- ret+="""\n"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(viewer_url,safe='/:?'))
+
+ if hasattr(resource[1],'link'):
+ meta_url=echo_url+"/getMetaDataXML"
+ else:
+ meta_url="NO_URL"
+
+ if filter and not re.search(filter,viewer_url):
+ continue
+
+ ret+="""\n"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(meta_url,safe='/:?'))
+
ret +="""\n"""