master
Самоукин Алексей 14 years ago
parent a7e2ca35aa
commit 5ae60b5821

@ -2724,6 +2724,8 @@ class profile(_file, _terms, xmlShare, processingTemplates):
terms = funTxt[4:-1].replace(" ","")
# Название программы
nameProg = terms
#if "/" in terms:
#category, nameProg =
if not self.installProg:
self.installProg,self.installProgVersions=getInstallPkgGentoo()
replace = pkg(nameProg,self.installProg,self.installProgVersions)
@ -3026,34 +3028,46 @@ class profile(_file, _terms, xmlShare, processingTemplates):
resS = self._reFunc.search(textProfileTmp)
else:
resS = False
if self.prevDictIni != self.currDictIni or\
(self.timeIni!=-1 and\
getTimeFile(self.fileConfigIni)!= self.timeIni):
# Записываем переменные в конфигурационный файл
if self.timeIni!=-1:
# Очистка файла в случае его ошибочного чтения
if not self.prevDictIni and os.path.exists(self.fileConfigIni):
FD = open(self.fileConfigIni, "r+")
FD.truncate(0)
FD.seek(0)
FD.close()
# Запись переменных
# Создание объекта парсера
config = cl_base.iniParser(self.fileConfigIni)
# секции будущего конфигурационного файла
sects = list(set(map(lambda x: x.split(".")[0],\
self.currDictIni.keys())))
# запись переменных в файл
for sect in sects:
dictVar = {}
for varName in self.currDictIni.keys():
if varName.startswith("%s."%sect):
nameVar = varName.rpartition(".")[2]
valueVar = self.currDictIni[varName]
if valueVar:
dictVar[nameVar] = valueVar
if dictVar:
# Запись переменных в секцию
config.setVar(sect, dictVar)
# Если конф. файл модифицирован шаблоном
curTime = getTimeFile(self.fileConfigIni)
if curTime != self.timeIni:
# Считаем переменные из конф. файла
self.prevDictIni = loadVarsIni(self.fileConfigIni)
self.currDictIni.update(self.prevDictIni)
self.timeIni = curTime
# Если словари переменных не совпадают
if self.prevDictIni != self.currDictIni:
# Запишем переменные в конфигурационный файл
# Создание объекта парсера
config = cl_base.iniParser(self.fileConfigIni)
# секции будущего конфигурационного файла
sects = list(set(map(lambda x: x.split(".")[0],\
self.currDictIni.keys())))
# запись переменных в файл
for sect in sects:
dictVar = {}
for varName in self.currDictIni.keys():
if varName.startswith("%s."%sect):
nameVar = varName.rpartition(".")[2]
valueVar = self.currDictIni[varName]
if valueVar:
dictVar[nameVar] = valueVar
if dictVar:
# Запись переменных в секцию
config.setVar(sect, dictVar)
# читаем переменные из файла
self.prevDictIni = loadVarsIni(self.fileConfigIni)
self.currDictIni.update(self.prevDictIni)
self.timeConfigsIni[self.fileConfigIni] = float(time.time())
self.timeIni = getTimeFile(self.fileConfigIni)
# Меняем владельца в случае необходимости
if os.path.exists(self.fileConfigIni):
fd = os.open(self.fileConfigIni, os.O_RDONLY)
fst = os.fstat(fd)
@ -3062,11 +3076,6 @@ class profile(_file, _terms, xmlShare, processingTemplates):
os.close(fd)
if self.uid!=uid or self.gid!=gid:
os.chown(self.fileConfigIni, int(self.uid), int(self.gid))
# читаем переменные из файла
self.prevDictIni = loadVarsIni(self.fileConfigIni)
self.currDictIni.update(self.prevDictIni)
self.timeConfigsIni[self.fileConfigIni] = float(time.time())
self.timeIni = getTimeFile(self.fileConfigIni)
return textProfileTmp
def applyTermsProfile(self, textProfile, nameProfile, nameSystemFile=False):

Loading…
Cancel
Save