|
|
@ -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(\
|
|
|
|