|
|
|
@ -26,6 +26,7 @@ import random
|
|
|
|
|
import string
|
|
|
|
|
import time
|
|
|
|
|
import glob
|
|
|
|
|
import fcntl
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Переопределение exit
|
|
|
|
@ -4969,6 +4970,7 @@ class iniParser(_error, templateFormat):
|
|
|
|
|
self.mode = 0640
|
|
|
|
|
# Cоответствует ли формат файла нужному
|
|
|
|
|
self.checkIni = None
|
|
|
|
|
self.FD = None
|
|
|
|
|
|
|
|
|
|
def setMode(self, mode):
|
|
|
|
|
"""установка прав создаваемого ini-файла"""
|
|
|
|
@ -4977,30 +4979,25 @@ class iniParser(_error, templateFormat):
|
|
|
|
|
def openIniFile(self):
|
|
|
|
|
if not os.access(self.iniFile, os.R_OK):
|
|
|
|
|
return ""
|
|
|
|
|
FD = open(self.iniFile, "r")
|
|
|
|
|
textIni = FD.read()
|
|
|
|
|
FD.close()
|
|
|
|
|
self.FD = open(self.iniFile, "r+")
|
|
|
|
|
fcntl.flock(self.FD.fileno(), fcntl.LOCK_EX)
|
|
|
|
|
textIni = self.FD.read()
|
|
|
|
|
return textIni
|
|
|
|
|
|
|
|
|
|
def writeIniFile(self, txtConfig):
|
|
|
|
|
import fcntl
|
|
|
|
|
if not os.path.exists(self.iniFile):
|
|
|
|
|
try:
|
|
|
|
|
# Создание файла
|
|
|
|
|
FD = open(self.iniFile, "w")
|
|
|
|
|
self.FD = open(self.iniFile, "w+")
|
|
|
|
|
fcntl.flock(self.FD.fileno(), fcntl.LOCK_EX)
|
|
|
|
|
os.chmod(self.iniFile, self.mode)
|
|
|
|
|
except:
|
|
|
|
|
self.setError(_("Unable to create file") + ": " + self.iniFile)
|
|
|
|
|
return False
|
|
|
|
|
else:
|
|
|
|
|
try:
|
|
|
|
|
FD = open(self.iniFile, "w")
|
|
|
|
|
except:
|
|
|
|
|
self.setError(_("Unable to open file") + ": " + self.iniFile)
|
|
|
|
|
return False
|
|
|
|
|
fcntl.flock(FD.fileno(), fcntl.LOCK_EX)
|
|
|
|
|
FD.write(txtConfig)
|
|
|
|
|
FD.close()
|
|
|
|
|
self.FD.truncate(0)
|
|
|
|
|
self.FD.seek(0)
|
|
|
|
|
self.FD.write(txtConfig)
|
|
|
|
|
self.FD.close()
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
def setVar(self, strHeader, dictVar):
|
|
|
|
@ -5111,6 +5108,7 @@ class iniParser(_error, templateFormat):
|
|
|
|
|
def getVar(self, strHeader, nameVar, checkExistVar=False):
|
|
|
|
|
"""Получаем значение переменной из ini-файла"""
|
|
|
|
|
textIni = self.openIniFile()
|
|
|
|
|
self.FD.close()
|
|
|
|
|
nameFomat = self.checkIniFile(textIni)
|
|
|
|
|
if not nameFomat:
|
|
|
|
|
return False
|
|
|
|
@ -5175,6 +5173,7 @@ class iniParser(_error, templateFormat):
|
|
|
|
|
def getAreaVars(self, strHeader):
|
|
|
|
|
"""Получаем все переменнные области из ini-файла"""
|
|
|
|
|
textIni = self.openIniFile()
|
|
|
|
|
self.FD.close()
|
|
|
|
|
nameFomat = self.checkIniFile(textIni)
|
|
|
|
|
if not nameFomat:
|
|
|
|
|
return False
|
|
|
|
@ -5216,6 +5215,7 @@ class iniParser(_error, templateFormat):
|
|
|
|
|
имена нескольких секций через запятую
|
|
|
|
|
"""
|
|
|
|
|
textIni = self.openIniFile()
|
|
|
|
|
self.FD.close()
|
|
|
|
|
nameFomat = self.checkIniFile(textIni)
|
|
|
|
|
if not nameFomat:
|
|
|
|
|
return False
|
|
|
|
|