From d3c89a3092973a7a8765463fff41c2469ed675cd Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Fri, 25 Oct 2019 19:27:02 -0700 Subject: [PATCH] check for enough info to parse --- jc/parsers/uname.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/jc/parsers/uname.py b/jc/parsers/uname.py index 892ec042..91632a85 100644 --- a/jc/parsers/uname.py +++ b/jc/parsers/uname.py @@ -26,17 +26,19 @@ def parse(data): output = {} parsed_line = data.split(maxsplit=3) - output['kernel_name'] = parsed_line.pop(0) - output['node_name'] = parsed_line.pop(0) - output['kernel_release'] = parsed_line.pop(0) + if len(parsed_line) > 1: - parsed_line = parsed_line[-1].rsplit(maxsplit=4) + output['kernel_name'] = parsed_line.pop(0) + output['node_name'] = parsed_line.pop(0) + output['kernel_release'] = parsed_line.pop(0) - output['operating_system'] = parsed_line.pop(-1) - output['hardware_platform'] = parsed_line.pop(-1) - output['processor'] = parsed_line.pop(-1) - output['machine'] = parsed_line.pop(-1) + parsed_line = parsed_line[-1].rsplit(maxsplit=4) - output['kernel_version'] = parsed_line.pop(0) + output['operating_system'] = parsed_line.pop(-1) + output['hardware_platform'] = parsed_line.pop(-1) + output['processor'] = parsed_line.pop(-1) + output['machine'] = parsed_line.pop(-1) + + output['kernel_version'] = parsed_line.pop(0) return output