diff options
author | Doug Hellmann <doug.hellmann@dreamhost.com> | 2012-04-27 19:23:26 -0400 |
---|---|---|
committer | Doug Hellmann <doug.hellmann@dreamhost.com> | 2012-04-27 19:23:26 -0400 |
commit | b8f3ad548d02eff5fe1b3c8d8515fab9db888204 (patch) | |
tree | 2b208428dd045e6efae4908f00100a2feb568e4b /cliff | |
parent | 216079ee59e994dd830dc209adb6407aacb99a6e (diff) | |
download | cliff-tablib-b8f3ad548d02eff5fe1b3c8d8515fab9db888204.tar.gz |
handle an empty data set
Diffstat (limited to 'cliff')
-rw-r--r-- | cliff/formatters/table.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/cliff/formatters/table.py b/cliff/formatters/table.py index 1813e3e..43066b4 100644 --- a/cliff/formatters/table.py +++ b/cliff/formatters/table.py @@ -32,14 +32,18 @@ class TableLister(ListFormatter): # first row and set the alignment of the # output accordingly. data_iter = iter(data) - first_row = next(data_iter) - for value, name in zip(first_row, column_names): - alignment = self.ALIGNMENTS.get(type(value), 'l') - x.set_field_align(name, alignment) - # Now iterate over the data and add the rows. - x.add_row(first_row) - for row in data_iter: - x.add_row(row) + try: + first_row = next(data_iter) + except StopIteration: + pass + else: + for value, name in zip(first_row, column_names): + alignment = self.ALIGNMENTS.get(type(value), 'l') + x.set_field_align(name, alignment) + # Now iterate over the data and add the rows. + x.add_row(first_row) + for row in data_iter: + x.add_row(row) formatted = x.get_string(fields=(parsed_args.columns or column_names)) stdout.write(formatted) stdout.write('\n') |