diff options
| author | Thibaut Horel <thibaut.horel@gmail.com> | 2014-08-13 03:08:28 -0400 |
|---|---|---|
| committer | Thibaut Horel <thibaut.horel@gmail.com> | 2014-08-13 03:08:28 -0400 |
| commit | 34bd4dd8a1e7d4f0187792a3a624c71f6422b117 (patch) | |
| tree | 371e2ad9af0ca39de6f532636902c2d835ee2cb9 /tabletext.py | |
| parent | cc023374b6dfded7f2bd15f222ca2d14a0a48835 (diff) | |
| download | tabletext-34bd4dd8a1e7d4f0187792a3a624c71f6422b117.tar.gz | |
Better handling of uneven row lengths
Diffstat (limited to 'tabletext.py')
| -rw-r--r-- | tabletext.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/tabletext.py b/tabletext.py index 59de8ab..6914033 100644 --- a/tabletext.py +++ b/tabletext.py @@ -41,7 +41,8 @@ def format_entry(entry, format_string, padding): def format_row(row, formats, padding, ver): return (ver + ver.join(format_entry(entry, format_string, padding) - for entry, format_string in zip(row, formats)) + for entry, format_string + in izip_longest(row, formats, fillvalue="")) + ver) @@ -61,10 +62,11 @@ def print_table(table, formats=None, padding=(1, 1), corners="┌┬┐├┼┤ header_corners="╒╤╕╞╪╡", header_hor="═", header_ver="│", header=False, hor="─", ver="│"): sys.stdout = getwriter('utf8')(sys.stdout) + n_columns = max(len(row) for row in table) if not formats: - formats = [""] * len(table[-1]) + formats = [""] * n_columns elif type(formats) is unicode: - formats = [formats] * len(table[-1]) + formats = [formats] * n_columns if len(corners) == 1: corners = corners * 9 if len(header_corners) == 1: |
