From 4eb5b0149c6740ea6b54643dc1a44eaaa8514a4c Mon Sep 17 00:00:00 2001 From: Mike Hiretsky Date: Thu, 12 Aug 2010 15:50:35 +0400 Subject: [PATCH 1/2] Fix locale. Fix video var. --- pym/cl_datavars.py | 4 ++-- pym/cl_fill.py | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/pym/cl_datavars.py b/pym/cl_datavars.py index d49bd06..ab35be3 100644 --- a/pym/cl_datavars.py +++ b/pym/cl_datavars.py @@ -799,13 +799,13 @@ class glob_attr: config config file name name param name """ - reMatch = re.compile("^%s\s*=\s*\"?(.*)\"?$"%name, re.I) + reMatch = re.compile("^%s\s*=\s*\"?(.*?)\"?$"%name, re.I) try: if os.path.exists(config): for line in open(config,"r").readlines(): match = reMatch.match(line) if match: - return group().strip() + return match.groups()[0].strip() except: pass return False diff --git a/pym/cl_fill.py b/pym/cl_fill.py index b0fb180..0bf69c3 100644 --- a/pym/cl_fill.py +++ b/pym/cl_fill.py @@ -197,6 +197,9 @@ class clLocale: def isLangExists(self,lang): return lang in self.lang.keys() + def isValueInFieldExists(self,field,value): + return value in map(lambda x:self.lang[x][field],self.lang.keys()) + def getFields(self,field): return [ l[1][field] for l in self.lang.items() ] @@ -569,7 +572,10 @@ class fillVars(glob_attr): elif os.environ.has_key("LANG"): return os.environ["LANG"] else: - return locale.getFieldByLang("locale","default") + localeVal = self.getValueFromConfig('/etc/env.d/02locale','LANG') + if locale.isValueInFieldExists('locale',localeVal): + return localeVal + return locale.getFieldByLang("locale","default") def get_os_locale_lang(self): """lang (example: ru_RU)""" @@ -709,7 +715,7 @@ class fillVars(glob_attr): xorg_log_file = '/var/log/Xorg.%s.log' % \ display_number.group(1) if os.path.exists(xorg_log_file): - matchStrs = [i for i in open(xorg_log_file) + matchStrs = [i for i in open(xorg_log_file) if "drv" in i and reDriver.search(i)] if matchStrs: resDriver = re.search(r'([^/]+)_drv.so', @@ -724,7 +730,7 @@ class fillVars(glob_attr): if matchSect: resDriver = re.search(r'Driver\s*"([^"]+)"', matchSect.group(0),re.S) - if resDriver: + if resDriver and resDriver.group(1) in list_avialable_drivers: return resDriver.group(1) defaultDriver = { 'vesa':'vesa', From 88a7e8f1d7b403455b5663d428bff4e42c1b30ac Mon Sep 17 00:00:00 2001 From: Mike Hiretsky Date: Thu, 12 Aug 2010 13:13:44 +0000 Subject: [PATCH 2/2] Fix set variables --- pym/cl_opt.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pym/cl_opt.py b/pym/cl_opt.py index 0a9bc3e..ec430c5 100644 --- a/pym/cl_opt.py +++ b/pym/cl_opt.py @@ -297,7 +297,7 @@ class opt(optparse.OptionParser): def checkVarSyntax(self,values): """Check value of parameter set, was used for change vars""" - reCheckSet = re.compile("^([a-z_]+=[^,]+)(,\s*[a-z_]+=[^,]+)*$") + reCheckSet = re.compile("^[a-z0-9_]+=[^,]+(,[a-z0-9_]+=[^,]+)*$") if values.set: for val in values.set: if not reCheckSet.match(val):