develop
Самоукин Алексей 14 years ago
parent 063136dfe4
commit 226cbcd43e

@ -415,8 +415,8 @@ storage of variables templates")%location
if self.__Set(vname, val, force)!= False: if self.__Set(vname, val, force)!= False:
if not val.strip(): if not val.strip():
self.__deleteVarValue(vname, location, header) self.__deleteVarValue(vname, location, header)
self.__writeVarValue(vname, val, location, header) if self.__writeVarValue(vname, val, location, header):
return True return True
return False return False
def Delete(self, vname, location='default', header=False): def Delete(self, vname, location='default', header=False):

@ -3436,7 +3436,6 @@ re.M|re.S)
return False return False
return True return True
applyDir = newDir applyDir = newDir
# Родительская директория # Родительская директория
if optDir.get("path"): if optDir.get("path"):
@ -3450,6 +3449,9 @@ re.M|re.S)
realPath = os.path.join("/",applyDir.partition(self._baseDir)[2]) realPath = os.path.join("/",applyDir.partition(self._baseDir)[2])
if realPath in self.dirsFilter: if realPath in self.dirsFilter:
return (applyDir, False) return (applyDir, False)
# Создаем директорию если необходимо
if not self.createDir(applyDir, False, self.uid, self.gid):
return False
return (applyDir, True) return (applyDir, True)
try: try:
FD = open(templateDirFile) FD = open(templateDirFile)
@ -3525,7 +3527,6 @@ re.M|re.S)
self.setError(_("False value 'chmod' in template") + ": " +\ self.setError(_("False value 'chmod' in template") + ": " +\
templateDirFile) templateDirFile)
return (applyDir, False) return (applyDir, False)
# chown - изменяем владельца и группу # chown - изменяем владельца и группу
if "chown" in objHead.params: if "chown" in objHead.params:
owner = objHead.params['chown'] owner = objHead.params['chown']
@ -4258,11 +4259,16 @@ class iniParser(_error, templateFormat):
self.setError(_("Unable to create file") + ": " + self.iniFile) self.setError(_("Unable to create file") + ": " + self.iniFile)
return False return False
else: else:
FD = open(self.iniFile, "r+") try:
FD = open(self.iniFile, "r+")
except:
self.setError(_("Unable to open file") + ": " + self.iniFile)
return False
FD.truncate(0) FD.truncate(0)
FD.seek(0) FD.seek(0)
FD.write(txtConfig) FD.write(txtConfig)
FD.close() FD.close()
return True
def setVar(self, strHeader, dictVar): def setVar(self, strHeader, dictVar):
"""Заменяет или добавляет область и переменные """Заменяет или добавляет область и переменные
@ -4299,7 +4305,8 @@ class iniParser(_error, templateFormat):
# получаем текст # получаем текст
txtConfig = objIni.getConfig().encode("UTF-8") txtConfig = objIni.getConfig().encode("UTF-8")
# записываем его в ini файл # записываем его в ini файл
self.writeIniFile(txtConfig) if not self.writeIniFile(txtConfig):
return False
return True return True
def isEmptyFile(self, textIni): def isEmptyFile(self, textIni):

@ -50,6 +50,10 @@ class Data:
# Пути к ini файлам (из cl_env_data) # Пути к ini файлам (из cl_env_data)
cl_env_path = {} cl_env_path = {}
# Пути к файлам шаблонов
cl_template_path = {'value':["/usr/share/calculate-2.2/templates",
"/var/calculate/templates",
"/var/calculate/remote/templates"]}
# локаль (прим: ru_RU.UTF-8) # локаль (прим: ru_RU.UTF-8)
os_locale_locale = {} os_locale_locale = {}
# язык (прим: ru_RU) # язык (прим: ru_RU)
@ -120,6 +124,10 @@ class Data:
#Полное имя пользователя #Полное имя пользователя
ur_fullname = {'mode':"r", 'official':True} ur_fullname = {'mode':"r", 'official':True}
#путь к директории относительно которой происходит наложение профилей на
#файлы системы
cl_root_path = {'mode':"w", 'value':"/"}
# Действие программы # Действие программы
# profile - генерация профиля пользователя # profile - генерация профиля пользователя
# install / uninstall - установка и удаление программы # install / uninstall - установка и удаление программы
@ -132,8 +140,8 @@ class Data:
# Почтовый адрес пользователя # Почтовый адрес пользователя
ur_mail = {'mode':"r", 'official':True} ur_mail = {'mode':"r", 'official':True}
# Переменные устанавливаемые сервером для клиента # Переменные пакета calculate-client для calculate-desktop
# ip или имя домена (под управлением calculate-server) # ip или имя домена (под управлением calculate-server)
cl_remote_host = {'mode':'w', 'official':True} cl_remote_host = {'mode':'r', 'official':True}

Loading…
Cancel
Save