Skip to content

Commit 9d9a726

Browse files
committed
improved udevadm parsing
1 parent 799d7ab commit 9d9a726

File tree

1 file changed

+26
-14
lines changed

1 file changed

+26
-14
lines changed

src/peracotta/parsers/read_udevadm.py

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,12 @@ def parse_udevadm(file_content: str) -> List[dict]:
3030
dimms = []
3131
for device_id, device in devices.items():
3232
try:
33-
if device["SPEED_MTS"] == 666:
34-
device["SPEED_MTS"] = 667
33+
34+
if "SERIAL_NUMBER" not in device:
35+
logger.error("Error while parsing device in udevadm - serial number not found")
36+
logger.error("device:")
37+
logger.error(device)
38+
continue
3539

3640
try:
3741
if device["SERIAL_NUMBER"][0:2] == "0x":
@@ -45,19 +49,27 @@ def parse_udevadm(file_content: str) -> List[dict]:
4549
logger.error(f"{file_content = }")
4650
continue
4751

48-
if sn:
49-
dimm = {
50-
"type": "ram",
51-
"working": "yes",
52-
"ram-type": device["TYPE"].lower(),
53-
"frequency-hertz": int(device["SPEED_MTS"]) * 1000 * 1000,
54-
"capacity-byte": int(device["SIZE"]),
55-
"brand": device["MANUFACTURER"],
56-
"model": device["PART_NUMBER"],
57-
"sn": sn,
58-
}
59-
dimms.append(dimm)
52+
ram_type = device["TYPE"].lower() if "TYPE" in device else None
53+
size = device["SIZE"] if "SIZE" in device else None
54+
speed = device["SPEED_MTS"] if "SPEED_MTS" in device else None
55+
if speed == 666:
56+
speed = 667
57+
manufacturer = device["MANUFACTURER"] if "MANUFACTURER" in device else None
58+
part_number = device["PART_NUMBER"] if "PART_NUMBER" in device else None
59+
60+
dimm = {
61+
"type": "ram",
62+
"working": "yes",
63+
"ram-type": ram_type,
64+
"frequency-hertz": int(speed) * 1000 * 1000,
65+
"capacity-byte": int(size),
66+
"brand": manufacturer,
67+
"model": part_number,
68+
"sn": sn,
69+
}
70+
dimms.append(dimm)
6071
except KeyError as e:
72+
_errored = True
6173
logger.error("Error while parsing device in udevadm")
6274
logger.error(f"KeyError {e}")
6375
logger.error("device:")

0 commit comments

Comments
 (0)