diff options
author | Feodor Tersin <ftersin@cloudscaling.com> | 2014-05-28 01:31:53 +0400 |
---|---|---|
committer | Feodor Tersin <ftersin@cloudscaling.com> | 2014-06-06 00:44:16 +0400 |
commit | e3bec7be19c8cfa8e8025e84bf0444109dcce730 (patch) | |
tree | 0312860ea55d92ec13cb6f950fa8f269c3c31383 /cliff/display.py | |
parent | 4bdf5fc90ee3e84ac675f5f26f7a0d94aacf91c5 (diff) | |
download | cliff-e3bec7be19c8cfa8e8025e84bf0444109dcce730.tar.gz |
Make show option compatible with Python 2.6.
Change-Id: I573ba628e1f7d4e1f6d71223e27f2301db7eb080
Closes-Bug: #1322931
Diffstat (limited to 'cliff/display.py')
-rw-r--r-- | cliff/display.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/cliff/display.py b/cliff/display.py index e04fd29..74f7289 100644 --- a/cliff/display.py +++ b/cliff/display.py @@ -1,6 +1,16 @@ """Application base class for displaying data. """ import abc + +try: + from itertools import compress +except ImportError: + # for py26 compat + from itertools import izip + + def compress(data, selectors): + return (d for d, s in izip(data, selectors) if s) + import logging import stevedore @@ -80,3 +90,7 @@ class DisplayCommandBase(Command): column_names, data = self.take_action(parsed_args) self.produce_output(parsed_args, column_names, data) return 0 + + @staticmethod + def _compress_iterable(iterable, selectors): + return compress(iterable, selectors) |