def __init__(self, rwList, fileName, dirName = None): # если аргумент dirName не задан, значит fileName содержит полный путь к файлу конфигурации if dirName is None: filePath = fileName dirName, fileName = path.split(filePath) else: filePath = path.join(dirName, fileName) # проверим существование каталога, в котором должен находиться файл if not path.exists(dirName): print u'Directory {0} not exists'.format(dirName) raise Exception(u'Directory for config file not exists') # мы должны иметь полные права доступа для каталога с файлом if not check_permissions(dirName, read=True, write=True, execute=True): print u'No rwx permissions for directory {0}'.format(dirName) raise Exception(u'No rwx permissions for directory') # если файл уже существует, мы должны иметь права на чтение/запись if path.exists(filePath): if not check_permissions(filePath, read=True, write=True): print u'No permissions for file {0}'.format(filePath) raise Exception(u'No permissions for config file') # сохраняем необходимые значения self._fileName = fileName self._dirName = dirName self._path = filePath self._backupPath = self._path + self.BACKUP_EXT self._read = rwList[0] self._write = rwList[1]
def dialog_select_dir(self): dirPath = QtGui.QFileDialog.getExistingDirectory(self, directory=self._activeDialogDir) if not dirPath.isEmpty(): dirPath = unicode(dirPath) if not check_permissions(dirPath, read=True, write=True, execute=True): print u'Недостаточно прав для работы с каталогом "{0}"'.format(dirPath) return None self._activeDialogDir = path.dirname(dirPath) return dirPath return None
def __init__(self, dirName): # рабочий каталог должен существовать if not path.exists(dirName): print u'Working dir {0} not exists'.format(dirName) raise Exception(u'Working dir not exists') # мы должны иметь полные права доступа к рабочему каталогу if not check_permissions(dirName, read=True, write=True, execute=True): print u'No rwx permissions for directory {0}'.format(dirName) raise Exception(u'No rwx permissions for directory') # сохраняем необходимые значения self._path = dirName self._cfgFile = ConfigFile([self._read_cfg, self._write_cfg], self.CFG_FILE_NAME, dirName) self._entries = self._cfgFile.read() self.check_entries()