Добавлены переменные:

os_root_dev - корневой раздел файловой системы:
os_root_type - тип носителя корневого раздела (ram, hdd, usb-hdd, livecd)
    

git-svn-id: http://svn.calculate.ru/calculate2/calculate-lib/trunk@724 c91db197-33c1-4113-bf15-f8a5c547ca64
develop
asamoukin 16 years ago
parent 7cb4b0fd3c
commit 2873a22d16

@ -16,6 +16,7 @@
import re import re
import os import os
import types
import cl_utils import cl_utils
import cl_base import cl_base
@ -131,4 +132,46 @@ class fillVars(object, cl_base.glob_attr):
def get_os_arch_machine(self): def get_os_arch_machine(self):
"""архитектура процессора""" """архитектура процессора"""
march = self._runos("""%s uname -m"""%self.path_env) march = self._runos("""%s uname -m"""%self.path_env)
return march return march
def get_os_root_dev(self):
"""корневой раздел файловой системы"""
for record in open('/proc/cmdline','rb').readlines():
re_res=re.search('^root=(\/dev\/[a-z]+[0-9]).*',record.strip())
if re_res:
return re_res.group(1)
else:
mountLunes = self._runos("""%s mount"""%self.path_env)
if type(mountLunes) == types.ListType:
root_dev = mountLunes[0].split("on / type")[0].strip()
if root_dev:
return root_dev
return ""
def get_os_root_type(self):
"""тип носителя (ram, hdd, livecd)"""
mountLunes = self._runos("""%s mount"""%self.path_env)
rootType = "hdd"
if type(mountLunes) == types.ListType:
for line in mountLunes:
if "/dev/loop0 on / type" in line:
rootType = "ram"
break
if rootType == "ram" and os.path.exists("/mnt/livecd"):
rootType = "livecd"
return rootType
rootDev = self.Get("os_root_dev")
if rootType != "ram" and rootDev:
slpRootDev = rootDev.split("/dev/")
if len(slpRootDev) == 2:
rDev = slpRootDev[1]
devLines = self._runos("%s LANG=C ls -la /dev/disk/by-id/"\
%self.path_env)
if type(devLines) == types.ListType:
for line in devLines:
if rDev in line and "usb-" in line:
rootType = "usb-hdd"
break
return rootType
else:
return ""

@ -59,4 +59,10 @@ class Data:
os_arch_machine = {} os_arch_machine = {}
# обрабатываемый файл профиля # обрабатываемый файл профиля
cl_pass_file = {'mode':"w"} cl_pass_file = {'mode':"w"}
# корневой раздел файловой системы
os_root_dev = {}
# тип носителя (ram, hdd, usb-hdd, livecd)
os_root_type = {}
Loading…
Cancel
Save