summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2013-05-29 18:56:28 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2013-05-29 18:56:28 +0200
commit11d468a99554ce12cf0169aef27a754b74e12f4c (patch)
tree294618d7080ed8850efa9495b3ddb98d14494626
parentb224e6e76976f26fc2ce186aa3b72833696d0893 (diff)
downloadtools-11d468a99554ce12cf0169aef27a754b74e12f4c.tar.gz
tools-11d468a99554ce12cf0169aef27a754b74e12f4c.tar.bz2
tools-11d468a99554ce12cf0169aef27a754b74e12f4c.zip
Printer: allow to filter plain values
-rw-r--r--hostinfo/printer.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/hostinfo/printer.py b/hostinfo/printer.py
index a4f58f7..5f02aeb 100644
--- a/hostinfo/printer.py
+++ b/hostinfo/printer.py
@@ -117,7 +117,7 @@ class Printer:
if 'verbose' in self.flags:
printer.pprint('')
else:
- printer.pprint(value)
+ self._print_value(value, printer, filter_key)
def _print_key(self, key, value, printer, filter_key):
sort = None
@@ -134,6 +134,12 @@ class Printer:
self._print(value, printer, filter_key, sort)
+ def _print_value(self, value, printer, filter_key):
+ full_key = _get_full_key(printer.full_key, value)
+ if self._should_display(full_key, filter_key) and \
+ filter_key is None or full_key == filter_key:
+ printer.pprint(value)
+
def _print_dict(self, value, printer, filter_key, sort):
keys = _sort_with_list(
[(key, full_key) for key in value.keys()