|
|
| version 1.25, 2004/11/24 15:16:33 | version 1.28, 2004/11/29 17:18:13 |
|---|---|
| Line 1 | Line 1 |
| import string | |
| import socket | import socket |
| import urllib | import urllib |
| import xml.dom.minidom | import xml.dom.minidom |
| Line 27 def content_html(self,type): | Line 28 def content_html(self,type): |
| class ECHO_basis: | class ECHO_basis: |
| """basis eigenschaften fuer echo objekte""" | """basis eigenschaften fuer echo objekte""" |
| def showRDF(self): | |
| """showrdf""" | |
| self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') | |
| ret="""<?xml version="1.0" encoding="utf-8"?>\n<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ECHONAVIGATION="http://www.echo.eu/rdf#">\n""" | |
| ret+=self.getRDF(urn="echo:colllectionroot")+"\n" | |
| ret+="""</RDF:RDF>""" | |
| return ret | |
| def createSubElementRDF(self,urn=None): | |
| """rdf list""" | |
| if not urn: | |
| urn=self.absolute_url() | |
| ret="" | |
| rettemp="""<RDF:Seq RDF:about="%s">\n"""%urn | |
| flag=0 | |
| li="""<RDF:li RDF:resource="%s" />\n""" | |
| if not ('<error>' in self.getFullTextXML(noredirect='Yes')): | |
| nurn=self.absolute_url()+'/getFullTextXML' | |
| rettemp+=li%nurn | |
| flag=1 | |
| if not ('<error>' in self.getImageView(noredirect='Yes')): | |
| nurn=self.absolute_url()+'/getImageView' | |
| rettemp+=li%nurn | |
| flag=1 | |
| if not ('<error>' in self.showMetaDataXML()): | |
| nurn=self.absolute_url()+'/showMetaDataXML' | |
| rettemp+=li%nurn | |
| flag=1 | |
| rettemp+="</RDF:Seq>" | |
| if flag==1: | |
| ret+=rettemp | |
| if not ('<error>' 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 ('<error>' 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 ('<error>' 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"): | def content_html(self,type="collection"): |
| """template fuer content bei einbau und ECHO_Umgebung""" | """template fuer content bei einbau und ECHO_Umgebung""" |
| Line 55 class ECHO_basis: | Line 110 class ECHO_basis: |
| pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeECHOEntriesForm')).__of__(self) | pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeECHOEntriesForm')).__of__(self) |
| return pt() | 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 | """change Entries for the ECHO Navigation environment |
| @param label: label fuer die Navigation""" | @param label: label fuer die Navigation""" |
| self.label=label | self.label=label |
| self.weight=weight | self.weight=weight |
| self.description=description | self.description=description |
| self.queryString=queryString | |
| if RESPONSE: | if RESPONSE: |
| RESPONSE.redirect("manage_main") | RESPONSE.redirect("manage_main") |
| Line 143 def checkOnlyOneInGroup(object): | Line 199 def checkOnlyOneInGroup(object): |
| if len(displayedObjects)==1: # nur ein Object dann redirect auf dieses Object | if len(displayedObjects)==1: # nur ein Object dann redirect auf dieses Object |
| return displayedObjects[0][1] | return displayedObjects[0][1] |
| else: | else: return object |
| 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=[] | ids=[] |
| displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes) | displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes) |
| Line 175 def getSubCols(self,sortfield="weight",s | Line 236 def getSubCols(self,sortfield="weight",s |
| else: | else: |
| tmp=10000000 | tmp=10000000 |
| tmplist.append((tmp,x)) | tmplist.append((tmp,x)) |
| if not sortFieldMD: | |
| tmplist.sort() | tmplist.sort() |
| else: | |
| tmplist.sort(sortWithMD(sortFieldMD)) | |
| return [x for (key,x) in tmplist] | return [x for (key,x) in tmplist] |