Ejemplo n.º 1
0
    def paste(self, Node_):
        """
        Вставить.
        @param Node_: Вставляемый узел.
        """
        # Можно вставлять толко модули или другие пакеты
        if issubclass(Node_.__class__, PrjModule) or \
           issubclass(Node_.__class__, PrjPackage):
            prj_node.PrjNode.paste(self, Node_)

            mod_name = Node_.getModuleName()
            mod_path = Node_.getPath()
            # Есть уже модуль с таким именем?
            if self.getRoot().prj_res_manager.isModByName(mod_name):
                ic_dlg.icMsgBox(u'ВНИМАНИЕ!',
                                u'Модуль <%s> уже существует!' % mod_name)
                return False
            # Добавить модуль в ресурс проекта
            Node_.getRoot().prj_res_manager.addModule(mod_name, mod_path)
            module_file_name = os.path.join(mod_path, mod_name + self.ext)
            copy_module_file_name = Node_.getCopyModuleName()
            ok = False
            if os.path.exists(copy_module_file_name):
                ok = ic_file.icCopyFile(copy_module_file_name,
                                        module_file_name)
                ic_file.Remove(copy_module_file_name)
            # Для синхронизации дерева проекта
            Node_.getRoot().save()
            return ok
        return False
Ejemplo n.º 2
0
    def delete(self):
        """
        Удалить модуль.
        """
        # ВОЗМОЖНО ЭТОТ МОДУЛЬ ПРОПИСАН КАК РЕСУРС!!!
        # Сначала удалить из файла *.pro
        self.getRoot().prj_res_manager.delRes(self.name, 'py')
        # Затем удалить из дерева
        prj_node.PrjNode.delete(self)

        module_name = os.path.join(self.getModulePath(), self.name + self.ext)

        # Выгрузить из редакторов
        self.getRoot().getParent().ide.CloseFile(module_name)
        res_file_name = self.getRoot().getParent().res_editor.GetResFileName()
        if res_file_name and ic_file.SamePathWin(module_name, res_file_name):
            self.getRoot().getParent().res_editor.CloseResource()

        # Удалить все блокировки
        self.getRoot().unlockAllPyFilesInIDE()

        # И в конце удалить папку пакета, если она есть
        if ic_file.Exists(module_name):
            # ВНИМАНИЕ! Удаляем файл, но оставляем его бекапную версию
            # для возможного восстановления!
            ic_file.icCreateBAKFile(module_name)
            ic_file.Remove(module_name)
        # Для синхронизации дерева проекта
        self.getRoot().save()
Ejemplo n.º 3
0
    def delRes(self, ResName_, ResType_):
        """
        Удалить ресурс из проекта.
        @param ResName_: Имя ресурса.
        @param ResType_: Тип ресурса.
        """
        self.makeFolderOther()
        if self._PrjRes:
            self._PrjRes.delRes(ResName_, ResType_)
            self._PrjRes.savePrj()

        res_file_name = self._PrjResDir + '/%s.%s' % (ResName_, ResType_)
        if ic_file.IsFile(res_file_name):
            ic_file.Remove(res_file_name)
            return True
        return False
Ejemplo n.º 4
0
    def __delitem__(self, key):
        if not self.isOpen():
            self.Open()

        if issubclass(self._StorageDB[str(key)].__class__, icFileStorage):
            # Проверка на удаление файла
            self._StorageDB[str(key)].closeFile()
            file_name = self._StorageDB[str(key)].getFileName()
            if ic_file.Exists(file_name) and ic_file.IsFile(file_name):
                ic_file.Remove(file_name)
        elif issubclass(self._StorageDB[str(key)].__class__, icDirStorage):
            # Проверка на удаление директории
            self._StorageDB[str(key)].closeAllFiles()
            dir_name = self._StorageDB[str(key)].getNodeDir()
            if ic_file.Exists(dir_name) and ic_file.IsDir(dir_name):
                ic_file.RemoveTreeDir(dir_name, 1)
        if str(key) in self._StorageDB:
            del self._StorageDB[str(key)]