diff options
Diffstat (limited to 'cliff/lister.py')
-rw-r--r-- | cliff/lister.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/cliff/lister.py b/cliff/lister.py index 406be97..d4b4f2e 100644 --- a/cliff/lister.py +++ b/cliff/lister.py @@ -1,7 +1,14 @@ """Application base class for providing a list of data as output. """ import abc -import itertools + +try: + from itertools import compress +except ImportError: + # for py26 compat + def compress(data, selectors): + return (d for d, s in izip(data, selectors) if s) + import logging from .display import DisplayCommandBase @@ -47,7 +54,7 @@ class Lister(DisplayCommandBase): # 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)) + data_gen = (list(compress(row, selector)) for row in data) self.formatter.emit_list(columns_to_include, data_gen, |