diff options
-rw-r--r-- | hostinfo/printer.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/hostinfo/printer.py b/hostinfo/printer.py index 5f02aeb..26ae70e 100644 --- a/hostinfo/printer.py +++ b/hostinfo/printer.py @@ -111,8 +111,7 @@ class Printer: if isinstance(value, dict): self._print_dict(value, printer, filter_key, sort) elif isinstance(value, list): - for values in value: - printer.pprint(values) + self._print_list(value, printer, filter_key) elif value is None: if 'verbose' in self.flags: printer.pprint('') @@ -140,6 +139,13 @@ class Printer: filter_key is None or full_key == filter_key: printer.pprint(value) + def _print_list(self, values, printer, filter_key): + for value in values: + if isinstance(value, str): + self._print_value(value, printer, filter_key) + else: + self._print(value, printer, filter_key) + def _print_dict(self, value, printer, filter_key, sort): keys = _sort_with_list( [(key, full_key) for key in value.keys() |