From a53f2ecbaf3de4d3fec1f17b6bf38723cdebe750 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Wed, 12 Oct 2022 09:07:17 -0700 Subject: [PATCH] split slot info --- jc/parsers/lspci.py | 14 ++++++++++++++ tests/fixtures/ubuntu-20.10/lspci-nnmmv.out | 9 +++++++++ 2 files changed, 23 insertions(+) diff --git a/jc/parsers/lspci.py b/jc/parsers/lspci.py index 8d8d01f5..713939e4 100644 --- a/jc/parsers/lspci.py +++ b/jc/parsers/lspci.py @@ -104,6 +104,20 @@ def parse( device_output = {} device_output['slot'] = line.split()[1] + + slot_info = line.split()[1] + *domain, bus, dev_fun = slot_info.split(':') + + if domain: + dom = domain[0] + else: + dom = None + + dev, fun = dev_fun.split('.') + device_output['domain'] = dom + device_output['bus'] = bus + device_output['dev'] = dev + device_output['function'] = fun continue key, val = line.split(maxsplit=1) diff --git a/tests/fixtures/ubuntu-20.10/lspci-nnmmv.out b/tests/fixtures/ubuntu-20.10/lspci-nnmmv.out index 633c8f10..8c77eedc 100644 --- a/tests/fixtures/ubuntu-20.10/lspci-nnmmv.out +++ b/tests/fixtures/ubuntu-20.10/lspci-nnmmv.out @@ -303,3 +303,12 @@ SDevice: SATA AHCI controller [07e0] PhySlot: 37 ProgIf: 01 +Slot: ff:02:05.0 +Class: SATA controller [0106] +Vendor: VMware [15ad] +Device: SATA AHCI controller [07e0] +SVendor: VMware [15ad] +SDevice: SATA AHCI controller [07e0] +PhySlot: 37 +ProgIf: 01 +