Fix fill method of some variables.

os_linux_ver: fix get version from gentoo system.
hr_laptop: rewrite method without using hal.
develop
Mike Hiretsky 14 years ago
parent 507cda8d59
commit 46ce3b180d

@ -368,32 +368,43 @@ class fillVars(glob_attr):
FD = open(path)
data = FD.readlines()
FD.close()
shortNameList = filter(lambda y:y,
verList = filter(lambda y:y,
map(lambda x:\
len(x.split("="))==2 and\
x.split("=")[0]=="linuxver" and\
x.split("=")[1].strip(), data))
if shortNameList:
return shortNameList[0]
if verList:
reVer=re.compile("^(\d+\.)*\d$",re.S)
reRes = filter(reVer.search,verList)
if reRes:
return reRes[0]
def get_from_gentoo_files():
"""Get version from gentoo files"""
gentooFile = "/etc/gentoo-release"
systemVersion = ""
flagGentoo = False
reVer=re.compile("^(\d+\.)*\d$",re.S)
if os.path.exists(gentooFile):
gentooLink = "/etc/make.profile"
if os.path.islink(gentooLink):
return os.readlink(gentooLink).rpartition("/")[2]
vers = filter(reVer.search,
os.readlink(gentooLink).split('/'))
if vers:
return vers[-1]
def get_from_uname():
"""Get version from uname"""
textLines = self._runos("uname -r")
reVer=re.compile("^(\d+\.)*\d",re.S)
kernelVersion = ""
if textLines:
kernelVersion = textLines[0]
if kernelVersion:
return kernelVersion.partition("-")[0]
reRes = reVer.search(kernelVersion)
if reRes:
return reRes.group()
return get_from_metapackage() or get_from_calculate_ini() or \
get_from_gentoo_files() or get_from_uname() or "0"
@ -874,20 +885,17 @@ class fillVars(glob_attr):
return state or "off"
def get_hr_laptop(self):
"""Если компьютер ноутбук, то его производитель"""
textLines = self._runos("hal-get-property --udi \
/org/freedesktop/Hal/devices/computer --key system.formfactor")
if not textLines:
return ""
formfactor = textLines[0]
if formfactor == 'laptop':
textLines = self._runos("hal-get-property --udi \
/org/freedesktop/Hal/devices/computer --key system.hardware.vendor")
if textLines:
vendor = textLines[0].split(" ")[0]
else:
vendor = "unknown"
return vendor.lower()
"""Vendor of laptop"""
chassisType = '/sys/class/dmi/id/chassis_type'
boardVendor = '/sys/class/dmi/id/board_vendor'
if os.access(chassisType,os.R_OK) and \
os.access(boardVendor,os.R_OK):
chassis = open(chassisType,'r').read().strip()
notebookChassis = ['1','8','10']
if chassis in notebookChassis:
valBoardVendor = open(boardVendor,'r').read().strip()
return valBoardVendor.split(" ")[0].lower() or \
"unknown"
return ""
def get_hr_video(self):

Loading…
Cancel
Save