Beispiel #1
0
 def create(self):
     """
     Функция создания ресурса.
     """
     tree_prj = self.getRoot().getParent()
     res_editor = tree_prj.res_editor
     if res_editor:
         res_name = self.getResName()
         res_path = self.getResPath()
         ic_file.MakeDirs(res_path)
         res_file = self.getResFileName()
         res_ext = self.getResFileExt()
         # Если ресурс/папка с таким именем уже есть в проекте, то
         # не создавать ресурс, а вывести сообщение.
         if self.getRoot().prj_res_manager.isResByNameANDType(
                 res_name, res_ext):
             ic_dlg.icMsgBox(
                 u'ВНИМАНИЕ!',
                 u'Ресурс/папка <%s> существует в проекте!' % res_name)
             return None
         # Добавить ресурс в ресурс проекта
         self.getRoot().prj_res_manager.addRes(res_name, res_ext,
                                               self._Parent.name)
         self.getRoot().save()
         return res_editor.CreateResource(res_name,
                                          res_path,
                                          res_file,
                                          res_ext,
                                          copy.deepcopy(self.template),
                                          bRecreate=True)
     return False
Beispiel #2
0
    def makeNodeDir(self, NodeDir_=None):
        """
        Создать папку-узел.
        """
        if NodeDir_:
            self._NodeDir = NodeDir_

        if not ic_file.Exists(self._NodeDir):
            ic_file.MakeDirs(self._NodeDir)
Beispiel #3
0
 def clearStorageDir(self, StorageDir_=None):
     """
     Полное очищение главной папки.
     """
     if StorageDir_ is None:
         StorageDir_ = self._NodeDir
     if ic_file.Exists(StorageDir_):
         try:
             ic_file.RemoveTreeDir(StorageDir_, True)
             ic_file.MakeDirs(StorageDir_)
         except:
             io_prnt.outErr(
                 u'Ошибка очистки папки объектного хранилища <%s>' %
                 StorageDir_)
Beispiel #4
0
 def edit(self):
     """
     Запуск ресурса на редактирование.
     """
     tree_prj = self.getRoot().getParent()
     res_editor = tree_prj.res_editor
     if res_editor:
         res_name = self.getResName()
         res_path = self.getResPath()
         ic_file.MakeDirs(res_path)
         res_file = self.getResFileName()
         res_ext = self.getResFileExt()
         self.getRoot().unlockResInResEditor(res_editor)
         if not self.readonly:
             is_lock = ic_res.isLockRes(res_name, res_file, res_ext,
                                        self.getRoot().lock_dir)
             if not is_lock:
                 # Если ресурс не заблокирован, то заблокировать его
                 # и отдать на редактирование
                 ic_res.lockRes(res_name, res_file, res_ext,
                                self.getRoot().lock_dir)
                 return res_editor.SetResource(res_name,
                                               res_path,
                                               res_file,
                                               res_ext,
                                               bEnable=True)
             else:
                 lock_rec = ic_res.getLockResRecord(res_name, res_file,
                                                    res_ext,
                                                    self.getRoot().lock_dir)
                 ic_dlg.icMsgBox(
                     u'ВНИМАНИЕ!',
                     u'Resource <%s> is locked by user <%s>. Computer: <%s>.'
                     % (res_name, lock_rec['user'], lock_rec['computer']))
                 # Открыть только для чтения
                 self.readonly = True
                 return res_editor.SetResource(res_name,
                                               res_path,
                                               res_file,
                                               res_ext,
                                               bEnable=False)
         else:
             return res_editor.SetResource(res_name,
                                           res_path,
                                           res_file,
                                           res_ext,
                                           bEnable=False)
     return None
Beispiel #5
0
    def saveAs(self, ResFileName_=None):
        """
        Сохранить как...
        @param ResFileName_: Имя ресурсного файла, если None, 
            то сделать его запрос.
        @return: Функция возвращает результат выполнения операции 
            сохранения True/False.
        """
        self._user_res_file_name = ResFileName_
        if self._user_res_file_name is None:
            self._user_res_file_name = ic_dlg.icFileDlg(
                None, u'Create user access file',
                u'User access file (*.acc)|*.acc')

        if self._user_res_file_name:
            # Создать путь к файлу
            ic_file.MakeDirs(ic_file.Split(self._user_res_file_name)[0])
            # Сохранить сам файл
            return ic_res.SaveResourceText(self._user_res_file_name,
                                           self._user_res)
        return False