diff options
author | Doug Hellmann <doug.hellmann@gmail.com> | 2012-08-02 10:05:36 -0700 |
---|---|---|
committer | Doug Hellmann <doug.hellmann@gmail.com> | 2012-08-02 10:05:36 -0700 |
commit | 22d32f60d3481b89a366fcf3416992618cb5a9e3 (patch) | |
tree | 1dce3d965f14f8b9dc27e5ba9b56e2b084014638 /cliff/lister.py | |
parent | ce0aa4609c76e60ea580afcfee1f8103931b0fee (diff) | |
parent | 8896e385ebc963145677303bf8d6eb134dcf582c (diff) | |
download | cliff-tablib-22d32f60d3481b89a366fcf3416992618cb5a9e3.tar.gz |
Merge pull request #1 from dhellmann/feature/package-tablib-support1.0
Start cliff-tablib repo
Diffstat (limited to 'cliff/lister.py')
-rw-r--r-- | cliff/lister.py | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/cliff/lister.py b/cliff/lister.py deleted file mode 100644 index 406be97..0000000 --- a/cliff/lister.py +++ /dev/null @@ -1,57 +0,0 @@ -"""Application base class for providing a list of data as output. -""" -import abc -import itertools -import logging - -from .display import DisplayCommandBase - - -LOG = logging.getLogger(__name__) - - -class Lister(DisplayCommandBase): - """Command base class for providing a list of data as output. - """ - __metaclass__ = abc.ABCMeta - - @property - def formatter_namespace(self): - return 'cliff.formatter.list' - - @property - def formatter_default(self): - return 'table' - - @abc.abstractmethod - def take_action(self, parsed_args): - """Return a tuple containing the column names and an iterable - containing the data to be listed. - """ - - def produce_output(self, parsed_args, column_names, data): - if not parsed_args.columns: - columns_to_include = column_names - data_gen = data - else: - columns_to_include = [c for c in column_names - if c in parsed_args.columns - ] - if not columns_to_include: - raise ValueError('No recognized column names in %s' % - str(parsed_args.columns)) - # Set up argument to compress() - selector = [(c in columns_to_include) - for c in column_names] - # Generator expression to only return the parts of a row - # of data that the user has expressed interest in - # seeing. We have to convert the compress() output to a - # list so the table formatter can ask for its length. - data_gen = (list(itertools.compress(row, selector)) - for row in data) - self.formatter.emit_list(columns_to_include, - data_gen, - self.app.stdout, - parsed_args, - ) - return 0 |