def _job_grid_fields(self, arches_used, **kw): """Return fields of Columns for matrix table _job_grid_fields() takes a list of arches and will return a list of Column objects to represent those arches. Also sets the max_cols variable to the number of arch columns. """ fields = [] for arch in self.whiteboards_used: for whiteboard in self.whiteboards_used[arch]: whiteboard_name = orig_whiteboard_name = whiteboard if not whiteboard_name: whiteboard_name = self.default_whiteboard_title fields.append(MatrixDataGrid.Column(outer_header=arch, name=whiteboard_name, getter=self.\ display_whiteboard_results(orig_whiteboard_name, arch),\ title=orig_whiteboard_name)) fields.append( MatrixDataGrid.Column(name='task', title=None, order=MatrixDataGrid.TASK_POS, outer_header='Task', getter=lambda x: x.task_name)) return fields
def generate(self, whiteboard, job_ids, toggle_nacks): """Return Grid and Data generate() returns a BeakerDataGrid and a dataset for it to operate on """ grid_data = self.generate_data(whiteboard, job_ids, toggle_nacks) grid = MatrixDataGrid(fields = self._job_grid_fields(self.arches_used.keys())) session.flush() return {'grid' : grid, 'data' : grid_data}