develop
Самоукин Алексей 14 years ago
parent 55d0e7fe4e
commit a4eae171d0

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

Loading…
Cancel
Save