diff options
Diffstat (limited to 'cliff/lister.py')
-rw-r--r-- | cliff/lister.py | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/cliff/lister.py b/cliff/lister.py index bef2d17..406be97 100644 --- a/cliff/lister.py +++ b/cliff/lister.py @@ -24,13 +24,12 @@ class Lister(DisplayCommandBase): return 'table' @abc.abstractmethod - def get_data(self, parsed_args): + def take_action(self, parsed_args): """Return a tuple containing the column names and an iterable containing the data to be listed. """ - def run(self, parsed_args): - column_names, data = self.get_data(parsed_args) + def produce_output(self, parsed_args, column_names, data): if not parsed_args.columns: columns_to_include = column_names data_gen = data @@ -50,10 +49,9 @@ class Lister(DisplayCommandBase): # list so the table formatter can ask for its length. data_gen = (list(itertools.compress(row, selector)) for row in data) - formatter = self.formatters[parsed_args.formatter] - formatter.emit_list(columns_to_include, - data_gen, - self.app.stdout, - parsed_args, - ) + self.formatter.emit_list(columns_to_include, + data_gen, + self.app.stdout, + parsed_args, + ) return 0 |