Исправлена запись в ini файл

develop^2
Mike Hiretsky 9 years ago
parent 21a3be3865
commit fc4dc1ee5a

@ -5380,6 +5380,9 @@ class templateClt(scanDirectoryClt, template):
return False
return (self.createdDirs, self.filesApply)
class IniError(Exception):
pass
class iniParser(_error, templateFormat):
"""Класс для работы с ini файлами
@ -5408,6 +5411,16 @@ class iniParser(_error, templateFormat):
def openRWIniFile(self):
if not os.access(self.iniFile, os.R_OK):
if not os.path.exists(self.iniFile):
try:
# Создание файла
self.FD = open(self.iniFile, "w+")
fcntl.flock(self.FD.fileno(), fcntl.LOCK_EX)
os.chmod(self.iniFile, self.mode)
except:
error = _("Unable to create the file") + ": " + self.iniFile
self.setError(error)
raise IniError(error)
return ""
try:
self.FD = open(self.iniFile, "r+")
@ -5423,16 +5436,6 @@ class iniParser(_error, templateFormat):
self.setError(_("Unable to write to the file") +
": " + self.iniFile)
return False
if not os.path.exists(self.iniFile):
try:
# Создание файла
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 the file") +
": " + self.iniFile)
return False
if not self.FD:
self.setError(_("Unable to write to the file") +
": " + self.iniFile)
@ -5440,8 +5443,6 @@ class iniParser(_error, templateFormat):
self.FD.truncate(0)
self.FD.seek(0)
self.FD.write(txtConfig)
self.FD.close()
self.FD = None
return True
def setVar(self, strHeader, dictVar):
@ -5451,6 +5452,7 @@ class iniParser(_error, templateFormat):
strHeader - имя области
dictVar - словарь переменных
"""
try:
textIni = self.openRWIniFile()
nameFomat = self.checkIniFile(textIni)
if not nameFomat:
@ -5482,6 +5484,18 @@ class iniParser(_error, templateFormat):
if not self.writeIniFile(txtConfig):
return False
return True
except IniError:
return False
finally:
self._closeFD()
def _closeFD(self):
if self.FD:
try:
self.FD.close()
except:
pass
self.FD = None
def isEmptyFile(self, textIni):
"""Если файл пустой или содержит только комментарии - False

Loading…
Cancel
Save