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

@ -109,27 +109,13 @@ class update_cmd:
def updateSystemConfig(self, nameProgram, category, version, configPath): 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, if not self.logicSystemObj.updateConfig(nameProgram, category, version,
configPath): configPath):
return False return False
return True return True
def updateUserConfig(self, nameProgram, category, version): def updateUserConfig(self, nameProgram, category, version):
"""Обновление конфигурационных файлов для пользователей в X сеансах""" """Обновление конфигурационных файлов для пользователей в X сеансах"""
# Пользователи в X сессии if not self.logicUserObj.updateConfig(nameProgram, category, version):
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):
return False return False
return True return True
Loading…
Cancel
Save