Improve RAM model reporting

This commit is contained in:
2Shirt 2022-10-29 12:06:37 -07:00
parent b36847fa5c
commit d306a4c4e6
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C

View file

@ -115,6 +115,7 @@ def get_ram_list_linux() -> list[list]:
cmd = ['sudo', 'dmidecode', '--type', 'memory']
dimm_list = []
manufacturer = 'Unknown'
part_number = 'Unknown'
size = 0
# Get DMI data
@ -125,8 +126,12 @@ def get_ram_list_linux() -> list[list]:
for line in dmi_data:
line = line.strip()
if line == 'Memory Device':
# Add to list
if size and (manufacturer or part_number):
dimm_list.append([size, manufacturer, part_number])
# Reset vars
manufacturer = 'Unknown'
part_number = 'Unknown'
size = 0
elif line.startswith('Size:'):
size = line.replace('Size: ', '')
@ -137,7 +142,18 @@ def get_ram_list_linux() -> list[list]:
size = 0
elif line.startswith('Manufacturer:'):
manufacturer = line.replace('Manufacturer: ', '')
dimm_list.append([size, manufacturer])
elif line.startswith('Part Number: '):
part_number = line.replace('Part Number: ', '')
# Add last DIMM
if size and (manufacturer or part_number):
dimm_list.append([size, manufacturer, part_number])
# Cleanup list
dimm_list = [
[dimm[0], dimm[1] if dimm[1] != 'Unknown' else dimm[2]]
for dimm in dimm_list
]
# Save details
return dimm_list