Пример #1
0
 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))
Пример #2
0
 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))
Пример #3
0
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
Пример #4
0
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