Add support set calculate param by dict.

develop
Mike Hiretsky 13 years ago
parent af06bf6c22
commit 7d2f5b5612

@ -388,15 +388,31 @@ class varsShare:
""" """
cmdLine = "/proc/cmdline" cmdLine = "/proc/cmdline"
calculateParam = "calculate" calculateParam = "calculate"
names = ("locale","keymap","timezone",
"res","video","composite")
# try get timezone from kernel calculate param # try get timezone from kernel calculate param
try: try:
if type(num) == str and not num.isdigit():
name = num
num = names.index(name)
else:
name = names[int(num)]
for param in open(cmdLine,"r").read().split(" "): for param in open(cmdLine,"r").read().split(" "):
parname,op,value = param.partition("=") parname,op,value = param.partition("=")
if parname == calculateParam and op == "=": if parname == calculateParam and op == "=":
values = value.split(",") # new format
if len(values) > num and values[num].strip(): if ":" in value:
return values[num].strip() params = dict(
except IOError,e: map(lambda x:x.partition(':')[0::2],
filter(lambda x:x,
value.split(','))))
return params.get(name,"").strip()
# old format
else:
values = value.split(",")
if len(values) > num and values[num].strip():
return values[num].strip()
except (IOError,ValueError,IndexError),e:
return "" return ""
def getValueFromConfig(self,config,name): def getValueFromConfig(self,config,name):

Loading…
Cancel
Save