class CSVRsetView(CSVMixIn, AnyRsetView): """dumps raw result set in CSV""" __regid__ = 'csvexport' __select__ = any_rset() title = _('csv export') def call(self): writer = self.csvwriter() writer.writerow(self.columns_labels()) rset, descr = self.cw_rset, self.cw_rset.description eschema = self._cw.vreg.schema.eschema for rowindex, row in enumerate(rset): csvrow = [] for colindex, val in enumerate(row): etype = descr[rowindex][colindex] if val is not None and not eschema(etype).final: # csvrow.append(val) # val is eid in that case content = self._cw.view('textincontext', rset, row=rowindex, col=colindex) else: content = self._cw.view('final', rset, format='text/plain', row=rowindex, col=colindex) csvrow.append(content) writer.writerow(csvrow)
class CSVRsetView(CSVMixIn, AnyRsetView): """ Dumps table rset in CSV. """ __regid__ = "tablecsvexport" __select__ = any_rset() title = _("CSV export") def call(self): """ This method expect a 'labels' form attribute that will be dumped as the first row of the CSV file. """ writer = self.csvwriter() writer.writerow(self._cw.form["labels"]) rset, descr = self.cw_rset, self.cw_rset.description eschema = self._cw.vreg.schema.eschema for rowindex, row in enumerate(rset): csvrow = [] for colindex, val in enumerate(row): etype = descr[rowindex][colindex] if val is not None and not eschema(etype).final: # csvrow.append(val) # val is eid in that case content = self._cw.view('textincontext', rset, row=rowindex, col=colindex) else: content = self._cw.view('final', rset, format='text/plain', row=rowindex, col=colindex) csvrow.append(content) writer.writerow(csvrow)
class BreadCrumbAnyRSetVComponent(BreadCrumbEntityVComponent): __select__ = basecomponents.HeaderComponent.__select__ & any_rset() # XXX support kwargs for compat with other components which gets the view as # argument def render(self, w, **kwargs): self.open_breadcrumbs(w) w(self._cw._('search')) self.close_breadcrumbs(w)
class JsonRsetView(JsonMixIn, AnyRsetView): """dumps raw result set in JSON format""" __regid__ = 'jsonexport' __select__ = any_rset() # means rset might be empty or have any shape title = _('json-export-view') def call(self): # XXX mimic w3c recommandations to serialize SPARQL results in json? # http://www.w3.org/TR/rdf-sparql-json-res/ self.wdata(self.cw_rset.rows)