Added template variable cl_autoupdate_set=on\off.

develop
Самоукин Алексей 14 years ago
parent 8a753d312a
commit 6df3279e5a

@ -181,3 +181,6 @@ class Data:
# programs have templates setup
cl_merges = {}
# (on or off) autoupdate config from install program
cl_autoupdate_set = {'official':True, 'value': "off"}

@ -106,12 +106,17 @@ class DataVarsObject(cl_datavars.DataVars):
class shareUpdateConfigs(color_print, writeLog):
"""Общие методы для обновления конфигурационных файлов"""
reCleanVer = re.compile("\d+\.?\d*\.?\d*")
_tupleOn = ("on","On","oN","ON")
def getPrograms(self):
"""Получаем установленные программы работающие с шаблонами"""
def getFlagUpdAndInstPrograms(self):
"""Получаем флаг обновления и
установленные программы работающие с шаблонами"""
clVars = cl_datavars.DataVars()
clVars.flIniFile()
return clVars.GetList("cl_merges")
flagUpdate = clVars.Get("cl_autoupdate_set") in self._tupleOn
return flagUpdate, clVars.GetList("cl_merges")
class updateUserConfigs(shareUpdateConfigs):
"""Обновление пользовательских конфигурационных файлов"""
@ -133,15 +138,23 @@ class updateUserConfigs(shareUpdateConfigs):
return False
return xUsers
def updateConfig(self, nameProgram, category, version, xUsers):
def updateConfig(self, nameProgram, category, version):
"""Обновление конфигурационных файлов у пользователей"""
# флаг обновления и программы используемые для наложения шаблонов
flagUpdate, mergePrograms = self.getFlagUpdAndInstPrograms()
if not flagUpdate:
return True
# Пользователи в X сессии
xUsers = self.getXUsers()
if not xUsers:
self.logger.info(_("Package %s") %nameProgram)
self.logger.warn(_("Not found X sessions users"))
return True
cleanVer = self.reCleanVer.search(version)
if cleanVer:
version = cleanVer.group()
self.logger.info(_("Package %s") %nameProgram)
self.logger.info(_("Update desktop configuration files"))
# Программы используемые для наложения шаблонов
mergePrograms = self.getPrograms()
if "calculate-desktop" in mergePrograms:
mergePrograms = ["calculate-desktop"]
else:
@ -226,6 +239,15 @@ class updateSystemConfigs(shareUpdateConfigs):
def updateConfig(self, nameProgram, category, version, configPath):
"""Обновление системных конфигурационных файлов"""
# флаг обновления и программы используемые для наложения шаблонов
flagUpdate, mergePrograms = self.getFlagUpdAndInstPrograms()
if not flagUpdate:
return True
# Проверка есть ли в пакете защищенные конфигурационные файлы
if not self.isExistsProtectFiles(configPath):
self.logger.info(_("Package %s") %nameProgram)
self.logger.warn(_("Not found protected files"))
return True
cleanVer = self.reCleanVer.search(version)
if cleanVer:
version = cleanVer.group()
@ -234,8 +256,6 @@ class updateSystemConfigs(shareUpdateConfigs):
if not os.path.exists(configPath):
self.printERROR(_("Path '%s' does not exist")%configPath)
return False
# Программы используемые для наложения шаблонов
mergePrograms = self.getPrograms()
dictPakkages = {}
# Добавление условия, что программа category/nameProgram установлена
cl_template.templateFunction.installProg.update(\

@ -109,27 +109,13 @@ class update_cmd:
def updateSystemConfig(self, nameProgram, category, version, configPath):
"""Обновление системных конфигурационных файлов"""
# Проверка есть ли в пакете защищенные конфигурационные файлы
if not self.logicSystemObj.isExistsProtectFiles(configPath):
self.logicSystemObj.logger.info(_("Package %s") %nameProgram)
self.logicSystemObj.logger.warn(_("Not found protected files"))
return True
# Обновление конфигурационных файлов
if not self.logicSystemObj.updateConfig(nameProgram, category, version,
configPath):
return False
return True
def updateUserConfig(self, nameProgram, category, version):
"""Обновление конфигурационных файлов для пользователей в X сеансах"""
# Пользователи в X сессии
xUsers = self.logicUserObj.getXUsers()
if not xUsers:
self.logicUserObj.logger.info(_("Package %s") %nameProgram)
self.logicUserObj.logger.warn(_("Not found X sessions users"))
return True
# Обновление конфигурационных файлов
if not self.logicUserObj.updateConfig(nameProgram, category, version,
xUsers):
if not self.logicUserObj.updateConfig(nameProgram, category, version):
return False
return True
Loading…
Cancel
Save