Exemple #1
0
    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]
Exemple #2
0
 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
Exemple #3
0
    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()