diff --git a/pym/cl_template.py b/pym/cl_template.py index ca15625..390cc0c 100644 --- a/pym/cl_template.py +++ b/pym/cl_template.py @@ -4971,6 +4971,7 @@ class iniParser(_error, templateFormat): # Cоответствует ли формат файла нужному self.checkIni = None self.FD = None + self.readOnly = False def setMode(self, mode): """установка прав создаваемого ini-файла""" @@ -4979,12 +4980,19 @@ class iniParser(_error, templateFormat): def openIniFile(self): if not os.access(self.iniFile, os.R_OK): return "" - self.FD = open(self.iniFile, "r+") + try: + self.FD = open(self.iniFile, "r+") + except (IOError,OSError),e: + self.FD = open(self.iniFile, "r") + self.readOnly = True fcntl.flock(self.FD.fileno(), fcntl.LOCK_EX) textIni = self.FD.read() return textIni def writeIniFile(self, txtConfig): + if self.readOnly: + self.setError(_("Unable to write into file") + ": " + self.iniFile) + return False if not os.path.exists(self.iniFile): try: # Создание файла