|
|
|
@ -117,6 +117,46 @@ class VariableHrVirtual(ReadonlyVariable):
|
|
|
|
|
return self.get_lspci() or self.get_cpuinfo() or ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class VariableHrChassisType(ReadonlyVariable):
|
|
|
|
|
"""
|
|
|
|
|
Тип устройства
|
|
|
|
|
"""
|
|
|
|
|
# типы взяты из inxi
|
|
|
|
|
Virtual = "virtual"
|
|
|
|
|
Unknown = "unknown"
|
|
|
|
|
Desktop = "desktop"
|
|
|
|
|
PizzaBox = "pizza-box"
|
|
|
|
|
Laptop = "laptop"
|
|
|
|
|
Notebook = "notebook"
|
|
|
|
|
Portable = "portable"
|
|
|
|
|
Server = "server"
|
|
|
|
|
Blade = "blade"
|
|
|
|
|
|
|
|
|
|
def get(self):
|
|
|
|
|
ct = device.sysfs.read(device.sysfs.Path.Dmi,
|
|
|
|
|
"chassis_type").strip()
|
|
|
|
|
if not ct.isdigit():
|
|
|
|
|
return self.Unknown
|
|
|
|
|
ct = int(ct)
|
|
|
|
|
if ct == 1:
|
|
|
|
|
return self.Virtual
|
|
|
|
|
elif ct in (3,4,6,7,13,15,24):
|
|
|
|
|
return self.Desktop
|
|
|
|
|
elif ct in (9,10,16):
|
|
|
|
|
return self.Laptop
|
|
|
|
|
elif ct == 14:
|
|
|
|
|
return self.Notebook
|
|
|
|
|
elif ct in (8, 11):
|
|
|
|
|
return self.Portable
|
|
|
|
|
elif ct in (17,23,25):
|
|
|
|
|
return self.Server
|
|
|
|
|
elif ct in (27, 28, 29):
|
|
|
|
|
return self.Blade
|
|
|
|
|
elif ct == 5:
|
|
|
|
|
return self.PizzaBox
|
|
|
|
|
else:
|
|
|
|
|
return self.Unknown
|
|
|
|
|
|
|
|
|
|
class VariableHrLaptop(ReadonlyVariable):
|
|
|
|
|
"""
|
|
|
|
|
Laptop variable.
|
|
|
|
@ -126,9 +166,11 @@ class VariableHrLaptop(ReadonlyVariable):
|
|
|
|
|
|
|
|
|
|
def get(self):
|
|
|
|
|
"""Laptop vendor"""
|
|
|
|
|
notebook_chassis = ['1', '8', '10']
|
|
|
|
|
if device.sysfs.read(device.sysfs.Path.Dmi,
|
|
|
|
|
"chassis_type").strip() in notebook_chassis:
|
|
|
|
|
chassis_type = self.Get('hr_chassis_type')
|
|
|
|
|
ChassisType = VariableHrChassisType
|
|
|
|
|
if chassis_type in (ChassisType.Laptop,
|
|
|
|
|
ChassisType.Portable,
|
|
|
|
|
ChassisType.Notebook):
|
|
|
|
|
board_vendor = device.sysfs.read(
|
|
|
|
|
device.sysfs.Path.Dmi, "board_vendor").strip()
|
|
|
|
|
vendor = (board_vendor.partition(" ")[0]).lower()
|
|
|
|
|