From e3bec7be19c8cfa8e8025e84bf0444109dcce730 Mon Sep 17 00:00:00 2001 From: Feodor Tersin Date: Wed, 28 May 2014 01:31:53 +0400 Subject: Make show option compatible with Python 2.6. Change-Id: I573ba628e1f7d4e1f6d71223e27f2301db7eb080 Closes-Bug: #1322931 --- cliff/display.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'cliff/display.py') 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) -- cgit v1.2.1