From bf1549143515d9054b2d66a3a270bc8c2398193c Mon Sep 17 00:00:00 2001 From: Alejandro Sirgo Rica Date: Wed, 11 Dec 2024 13:36:16 +0100 Subject: hw_inventory: fix json parsing Add support for both lshw -json return formats. The json structure may follow one of the following. output:list flag enabled: [{content}] output:list flag disabled: {content} The output:list flag was defined in the commit 2b1c730 of https://ezix.org/src/pkg/lshw --- src/utils/hw_inventory.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/utils/hw_inventory.py b/src/utils/hw_inventory.py index 9bf826e..09a9fae 100644 --- a/src/utils/hw_inventory.py +++ b/src/utils/hw_inventory.py @@ -293,10 +293,10 @@ def legacy_list_hardware_inventory(inventory): def get_hardware_inventory(): proc = subprocess.run(['lshw', '-json'], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) - j = json.loads(proc.stdout) + root = json.loads(proc.stdout) - if type(j) is list: - root = j[0] + if type(root) is list: + root = root[0] if type(root) is not dict: raise OgError('Invalid lshw json output') -- cgit v1.2.3-18-g5258