Исправлена переменная определяющая ноутбук

legacy27 3.6.0_beta6
Mike Hiretsky 6 years ago
parent 75a8a79137
commit 98b2c17588

@ -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()

Loading…
Cancel
Save