def get_markup(self): """ Return `txt2tags <http://txt2tags.org/>`_ markup for the report. """ table = Table() row_sort_module = RowSortModule(self._sort_spec) table.dynamic_data_modules.append(row_sort_module) for run_id, run in self.props.items(): row = {} for key, value in run.items(): if key not in self.attributes: continue if isinstance(value, (list, tuple)): key = '-'.join([str(item) for item in value]) row[key] = value table.add_row(run_id, row) return str(table)