--- ECHO_content/ECHO_helpers.py 2004/11/24 15:16:33 1.25
+++ ECHO_content/ECHO_helpers.py 2004/11/29 17:18:13 1.28
@@ -1,3 +1,4 @@
+import string
import socket
import urllib
import xml.dom.minidom
@@ -27,7 +28,61 @@ def content_html(self,type):
class ECHO_basis:
"""basis eigenschaften fuer echo objekte"""
-
+ def showRDF(self):
+ """showrdf"""
+ self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
+ ret="""\n\n"""
+ ret+=self.getRDF(urn="echo:colllectionroot")+"\n"
+
+ ret+=""""""
+ return ret
+
+
+
+ def createSubElementRDF(self,urn=None):
+ """rdf list"""
+ if not urn:
+ urn=self.absolute_url()
+ ret=""
+
+ 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
+
+
+ if not ('' in self.showMetaDataXML()):
+ nurn=self.absolute_url()+'/showMetaDataXML'
+ 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",typeName="ECHO_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",typeName="ECHO_imageview")
+
+ if not ('' in self.showMetaDataXML()):
+ nurn=self.absolute_url()+'/showMetaDataXML'
+ ret+=getRDFDescription(self,self.absolute_url()+'/showMetaDataXML',urn=nurn,nameDef="Metadata",typeName="ECHO_metaData")
+
+ return ret
+
def content_html(self,type="collection"):
"""template fuer content bei einbau und ECHO_Umgebung"""
@@ -55,12 +110,13 @@ class ECHO_basis:
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeECHOEntriesForm')).__of__(self)
return pt()
- def changeECHOEntries(self,label,weight,description,RESPONSE=None):
+ def changeECHOEntries(self,label,weight,description,queryString,RESPONSE=None):
"""change Entries for the ECHO Navigation environment
@param label: label fuer die Navigation"""
self.label=label
self.weight=weight
self.description=description
+ self.queryString=queryString
if RESPONSE:
RESPONSE.redirect("manage_main")
@@ -143,12 +199,17 @@ def checkOnlyOneInGroup(object):
if len(displayedObjects)==1: # nur ein Object dann redirect auf dieses Object
return displayedObjects[0][1]
- else:
- return object
+ else: return object
-def getSubCols(self,sortfield="weight",subColTypes= displayTypes):
+def getSubCols(self,sortfield="weight",subColTypes= displayTypes,sortFieldMD=None):
-
+ def sortfnc(sortfield,x,y):
+ xa=x[1].getMDValue(sortfield)
+ ya=y[1].getMDValue(sortfield)
+ print xa,ya
+ return cmp(xa,ya)
+
+ sortWithMD = lambda sortfield : (lambda x,y : sortfnc(sortfield,x,y))
ids=[]
displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes)
@@ -175,8 +236,12 @@ def getSubCols(self,sortfield="weight",s
else:
tmp=10000000
tmplist.append((tmp,x))
- tmplist.sort()
+ if not sortFieldMD:
+ tmplist.sort()
+ else:
+ tmplist.sort(sortWithMD(sortFieldMD))
+
return [x for (key,x) in tmplist]
def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']):