From dc9793f6a9ec9925c279ec3ba4453ead88f97a77 Mon Sep 17 00:00:00 2001 From: mhiretskiy Date: Tue, 22 Jul 2008 11:46:16 +0000 Subject: [PATCH] git-svn-id: http://svn.calculate.ru/calculate2/calculate-lib/trunk@104 c91db197-33c1-4113-bf15-f8a5c547ca64 --- pym/cl_base.py | 63 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 55 insertions(+), 8 deletions(-) diff --git a/pym/cl_base.py b/pym/cl_base.py index 5947fa7..b537534 100644 --- a/pym/cl_base.py +++ b/pym/cl_base.py @@ -1624,6 +1624,41 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" if prof: self._objvar.Set('setup_path_profinst',prof,True) + def fillFromCmdParam(self,s): + '''Заполнить переменные окружения посредством параметра командной + строки. + + Параметры: + s строка вида <параметра>=<значение>[:<пар>=<знач>] + + Возвращаемые значения: + True строка правильная и все параметры установлены + False строка неправильная или запрошены на установку параметры + "только для чтения" + ''' + dict = {} + # разбирать входящую строку с параметрами и устанавливить в словарь + # (проверка на корректный синтаксис) + for par in s.split(':'): + try: + parts = par.split('=') + # проверить, что бы части состояли из 2 частей + if len(parts) != 2: + return False + key, value = parts + # проверить что бы все параметры были доступны для записи + if 'r' in self._objvar.Get(key,True).v_mode: + return False + dict[key] = value + except VarNameError: + return False + + # установить параметры + for (k,v) in dict.items(): + if self._objvar.Set(k,v) == False: + return False + return True + def getProfileList(self, path): obj=self._objvar @@ -2007,6 +2042,21 @@ class DataVars: # заполнить полученную конфигурацию алгоритмом для инсталлятора fillVars(self).fillInstall(**args) + def flFromCmdParam(self, s ): + '''Заполнить переменные окружения посредством параметра командной + строки. + + Параметры: + s строка вида <параметра>=<значение>[:<пар>=<знач>] + + Возвращаемые значения: + True строка правильная и все параметры установлены + False строка неправильная или запрошены на установку параметры + "только для чтения" + ''' + # заполнить полученную конфигурацию парметрами из командной строки + return fillVars(self).fillFromCmdParam(s) + def isRewrite(self, vname): '''Доступна ли переменная для изменения @@ -2208,15 +2258,12 @@ class DataVars: p_val=var[i].v_printval if var[i].v_official: continue - print i.ljust(mlen_name),\ - var[i].v_mode.lower().ljust(mlen_mode),\ - str(var[i].v_type).ljust(mlen_type),\ - ":",\ - p_val + cl_utils.columnWrite( i, mlen_name, var[i].v_mode.lower(), + mlen_mode, str(var[i].v_type), mlen_type, p_val) print cl_utils.fillstr("-",mlen_name),\ - cl_utils.fillstr("-",mlen_mode),\ - cl_utils.fillstr("-",mlen_type),\ - cl_utils.fillstr("-",10) + cl_utils.fillstr("-",mlen_mode),\ + cl_utils.fillstr("-",mlen_type),\ + cl_utils.fillstr("-",10) #объеденить два объекта с переменными def joinVars(self, objvars, force=False):