def testSplitRowIntoLines(self): input = ['Foo', 'Bar'] expect = [['Foo', 'Bar']] self.assertEquals(expect, split_row_into_lines(input)) input = ['One\nTwo\nThree', 'Only one'] expect = [['One', 'Only one'], ['Two', ''], ['Three', '']] self.assertEquals(expect, split_row_into_lines(input)) input = ['One\n\n\nThree', 'Foo\nBar'] expect = [['One', 'Foo'], ['', 'Bar'], ['', ''], ['Three', '']] self.assertEquals(expect, split_row_into_lines(input))
def draw_table(indent, table, manual_widths=None): if table == []: return [] if manual_widths is None: col_widths = get_column_widths(table) else: col_widths = manual_widths # Reserve room for the spaces sep_col_widths = map(lambda x: x + 2, col_widths) header_line = table_line(sep_col_widths, header=True) normal_line = table_line(sep_col_widths, header=False) output = [indent+normal_line] first = True for row in table: if manual_widths: row = reflow_row_contents(row, manual_widths) row_lines = split_row_into_lines(row) # draw the lines (num_lines) for this row for row_line in row_lines: row_line = pad_fields(row_line, col_widths) output.append(indent+"|".join([''] + row_line + [''])) # then, draw the separator if first: output.append(indent+header_line) first = False else: output.append(indent+normal_line) return output
def draw_table(indent, table, manual_widths=None): if table == []: return [] if manual_widths is None: col_widths = get_column_widths(table) else: col_widths = manual_widths # Reserve room for the spaces sep_col_widths = map(lambda x: x + 2, col_widths) header_line = table_line(sep_col_widths, header=True) normal_line = table_line(sep_col_widths, header=False) output = [indent + normal_line] first = True for row in table: if manual_widths: row = reflow_row_contents(row, manual_widths) row_lines = split_row_into_lines(row) # draw the lines (num_lines) for this row for row_line in row_lines: row_line = pad_fields(row_line, col_widths) output.append(indent + "|".join([''] + row_line + [''])) # then, draw the separator if first: output.append(indent + header_line) first = False else: output.append(indent + normal_line) return output