|
|
@ -33,7 +33,8 @@ USAGE = _("%prog [options] package_name") |
|
|
|
COMMENT_EXAMPLES = _("Update configuration files of package nss_ldap") |
|
|
|
|
|
|
|
# Пример использования программы |
|
|
|
EXAMPLES = _("%prog --system --path / nss_ldap") |
|
|
|
EXAMPLES = _(r"%prog --system --pkg_category net-nds --pkg_version 2.4.19\ |
|
|
|
--path / openldap") |
|
|
|
|
|
|
|
# Описание программы (что делает программа) |
|
|
|
DESCRIPTION = _("Update configuration files package installed") |
|
|
@ -45,7 +46,13 @@ CMD_OPTIONS=[{'longOption':"system", |
|
|
|
'help':_("update desktop (user) configuration files")}, |
|
|
|
{'longOption':"path", |
|
|
|
'optVal':"PATH", |
|
|
|
'help':_("root path for saving the updated configuration files")}] |
|
|
|
'help':_("root path for saving the updated configuration files")}, |
|
|
|
{'longOption':"pkg_category", |
|
|
|
'optVal':"CATEGORY", |
|
|
|
'help':_("package category name")}, |
|
|
|
{'longOption':"pkg_version", |
|
|
|
'optVal':"VERSION", |
|
|
|
'help':_("package version number without the revision")}] |
|
|
|
|
|
|
|
class update_cmd: |
|
|
|
def __init__(self): |
|
|
@ -85,6 +92,14 @@ class update_cmd: |
|
|
|
errMsg = _("no such option") + ":" + " --path" |
|
|
|
self.optobj.error(errMsg) |
|
|
|
return False |
|
|
|
if not optObj.pkg_category: |
|
|
|
errMsg = _("no such option") + ":" + " --pkg_category" |
|
|
|
self.optobj.error(errMsg) |
|
|
|
return False |
|
|
|
if not optObj.pkg_version: |
|
|
|
errMsg = _("no such option") + ":" + " --pkg_version" |
|
|
|
self.optobj.error(errMsg) |
|
|
|
return False |
|
|
|
if not filter(lambda x: x, [optObj.system, optObj.desktop]): |
|
|
|
errMsg = _("no such options") + ":" + " --system " + _("or") +\ |
|
|
|
" --desktop" |
|
|
@ -92,7 +107,7 @@ class update_cmd: |
|
|
|
return False |
|
|
|
return optObj, args |
|
|
|
|
|
|
|
def updateSystemConfig(self, nameProgram, configPath): |
|
|
|
def updateSystemConfig(self, nameProgram, category, version, configPath): |
|
|
|
"""Обновление системных конфигурационных файлов""" |
|
|
|
# Проверка есть ли в пакете защищенные конфигурационные файлы |
|
|
|
if not self.logicSystemObj.isExistsProtectFiles(configPath): |
|
|
@ -100,11 +115,12 @@ class update_cmd: |
|
|
|
self.logicSystemObj.logger.warn(_("Not found protected files")) |
|
|
|
return True |
|
|
|
# Обновление конфигурационных файлов |
|
|
|
if not self.logicSystemObj.updateConfig(nameProgram, configPath): |
|
|
|
if not self.logicSystemObj.updateConfig(nameProgram, category, version, |
|
|
|
configPath): |
|
|
|
return False |
|
|
|
return True |
|
|
|
|
|
|
|
def updateUserConfig(self, nameProgram): |
|
|
|
def updateUserConfig(self, nameProgram, category, version): |
|
|
|
"""Обновление конфигурационных файлов для пользователей в X сеансах""" |
|
|
|
# Пользователи в X сессии |
|
|
|
xUsers = self.logicUserObj.getXUsers() |
|
|
@ -113,6 +129,7 @@ class update_cmd: |
|
|
|
self.logicUserObj.logger.warn(_("Not found X sessions users")) |
|
|
|
return True |
|
|
|
# Обновление конфигурационных файлов |
|
|
|
if not self.logicUserObj.updateConfig(nameProgram, xUsers): |
|
|
|
if not self.logicUserObj.updateConfig(nameProgram, category, version, |
|
|
|
xUsers): |
|
|
|
return False |
|
|
|
return True |