From 00185b7e2839e46b0d058fa3202b3264dfda2a81 Mon Sep 17 00:00:00 2001 From: asamoukin Date: Mon, 20 Oct 2008 11:49:23 +0000 Subject: [PATCH] git-svn-id: http://svn.calculate.ru/calculate2/calculate-lib/trunk@247 c91db197-33c1-4113-bf15-f8a5c547ca64 --- pym/cl_base.py | 17 +++++++++-------- pym/cl_utils2.py | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 8 deletions(-) diff --git a/pym/cl_base.py b/pym/cl_base.py index 1943847..a980d38 100644 --- a/pym/cl_base.py +++ b/pym/cl_base.py @@ -163,10 +163,6 @@ class lang: self.__setLang(mod) return self.__setLang(module) - def __utf8Translate(self, *arg, **argv): - """Изменение кодировки переведенной строки на UTF-8""" - return self.ugettext(*arg , **argv).encode("UTF-8") - def __setLang(self,module): """ Установка языка перевода для модуля module. @@ -197,10 +193,8 @@ class lang: transl = gettext.translation(nameDomain\ ,self.__catalog,la) - transl.__utf8Translate =\ - lang.__utf8Translate.__get__(transl) - module._ = transl.__utf8Translate #module._ = transl.ugettext + module._ = transl.gettext ret = 1 else: module._ = self.__translate @@ -2174,7 +2168,9 @@ class DataVars: /pvars')) __modlist={'Global':'cl_vars', 'Server':'cl_vars_server', - 'Builder':'cl_vars_builder'} + 'Builder':'cl_vars_builder', + 'Client':'cl_vars_client', + } def __init__(self, modsname='Global'): '''Загрузка указанной конфигурации переменных. @@ -2418,6 +2414,11 @@ class DataVars: # заполнить переменные окружения алгоритмом по умолнанию self.addVars("Server") + def flClient(self, **args): + '''Заполнить конфигурацию переменных, для клиента''' + # заполнить переменные окружения алгоритмом по умолнанию + self.addVars("Client") + def flBuilder(self, **args): '''Заполнить конфигурацию переменных, для билдера''' self.Set('setup_pass','builder',True) diff --git a/pym/cl_utils2.py b/pym/cl_utils2.py index 9298839..fb03398 100644 --- a/pym/cl_utils2.py +++ b/pym/cl_utils2.py @@ -24,6 +24,47 @@ import termios import fcntl import cl_utils +import cl_profile +import ldap +class ldapFun(cl_profile._error): + '''Объект для работы с LDAP сервером + + подключение к серверу и поиск данных + ''' + def __init__(self, dnUser, password, host="localhost"): + self.conLdap = False + # Получаем соединение с LDAP + try: + self.conLdap = self.__ldapConnect(dnUser, password, host) + except ldap.LDAPError, e: + self.setError(e[0]['desc']) + + def __ldapConnect(self, dnUser, password, host): + """Соединение с LDAP сервером""" + conLdap = ldap.initialize('ldap://%s'%host) + conLdap.simple_bind_s(dnUser, password) + return conLdap + + def ldapSearch(self,baseDN, searchScope, searchFilter, retrieveAttributes): + try: + ldap_result_id = self.conLdap.search(baseDN, searchScope, + searchFilter, + retrieveAttributes) + result_set = [] + while 1: + result_type, result_data = self.conLdap.result(ldap_result_id, + 0) + if (result_data == []): + break + else: + if result_type == ldap.RES_SEARCH_ENTRY: + result_set.append(result_data) + except ldap.NO_SUCH_OBJECT: + return [] + except: + return False + return result_set + pcs = cl_utils.prettyColumnStr class cl_help: