def zipMetadata(self, REQUEST=None): """ @summary: gets an id of a metadatacollection or metadatacontainer and zips the content and returns the zip file """ url = REQUEST.id parts = url.split("/") theId = parts[-1] results = self.portal_catalog.searchResults(id=theId) obj = results[0].getObject() if obj.portal_type in ['Topic']: obj = obj.aq_parent print obj zipData = {} items = obj.objectItems() for i in items: if i[1].meta_type == "Metadata": #print i[1].title zipData[i[1].id + ".xml"] = i[1].xml sIO = StringIO("") z = ZipUtil(sIO, mode="w") z.writeData(zipData) if REQUEST: REQUEST.RESPONSE.setHeader("Content-type", "application/zip") return z.getZipFileData()
def zipMetadata(self, REQUEST=None): """ @summary: gets an id of a metadatacollection or metadatacontainer and zips the content and returns the zip file """ url = REQUEST.id parts = url.split("/") theId = parts[-1] results = self.portal_catalog.searchResults(id = theId) obj = results[0].getObject() if obj.portal_type in ['Topic']: obj = obj.aq_parent print obj zipData = {} items = obj.objectItems() for i in items: if i[1].meta_type == "Metadata": #print i[1].title zipData[i[1].id + ".xml"] = i[1].xml sIO = StringIO("") z = ZipUtil(sIO, mode="w") z.writeData(zipData) if REQUEST: REQUEST.RESPONSE.setHeader("Content-type","application/zip") return z.getZipFileData()