--- ECHO_content/ECHO_helpers.py 2004/11/24 15:16:33 1.25 +++ ECHO_content/ECHO_helpers.py 2004/11/28 21:56:07 1.27 @@ -27,7 +27,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 +109,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 +198,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 +235,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']):