示例#1
0
    def __create(self):
        '''
            создание нового объекта. Передает с сигналом только что созданный объект Entity
        '''
        
        #обработка полей
        list_fields = self.__getFields()
        #обработка тегов
        list_tags = self.__getTags()  
        list_entityes = []      
        if self._object_type == SystemInfo.entity_link_type:
            list_entityes.append(EntityManager.createEntity(title=self._edit_title.text(),entity_type=self._object_type,user_name=self._user_repo.name,
                                            list_tags=list_tags,list_fields=list_fields,
                                            notes=self._edit_description.text())) #добавить дату создания
        else:
            files_names = self._edit_path.text()
            print(files_names)
            #files_names = cleareExtraSpace(files_names)
            list_files = files_names.split(';')
            list_files_names=[]
            for file_name in list_files: # убираются лишнии пробелы в начале и конце строки. Если пользователь вводил файлы вручную
                list_files_names.append(file_name.strip())

            count_files = len(list_files_names)
            
            
#            self.setDisabled(1)
            progress_window = QtGui.QProgressDialog(self)
#            progress_window.setWindowModality(1)
            progress_window.setMinimum(0)
            progress_window.setMaximum(99)
            progress_window.show()
            self.connect(progress_window,QtCore.SIGNAL('canceled()'),self.__stoped)
            d_progress = 100/count_files
            progress = 0
            for file_path in list_files_names:
                progress_window.setValue(progress)
                QtGui.QApplication.processEvents()
                file_repo_path = self.__splitFileByRepo(file_path)
                print(self._path_to_repo)
                print('file_repo_path',file_repo_path)
                list_entityes.append(EntityManager.createEntity(title=self._edit_title.text(),entity_type=self._object_type,user_name=self._user_repo.name,
                                            list_tags=list_tags,list_fields=list_fields,
                                            notes=self._edit_description.text(),file_path=file_repo_path))
                print('progress---',progress)
                print('dprogress---',d_progress)
                
                progress+=d_progress
                progress_window.setValue(progress)
                QtGui.QApplication.processEvents()
#            progress_window.setWindowModality(0)    
            print('deleting progress window')
            del(progress_window)
        print('the lenght outputting signal is -',len(list_entityes))
        self.emit(QtCore.SIGNAL('createEntity(list_entityes)'),list_entityes)
        self.__canceled()
示例#2
0
    def __update(self):
        '''
            модификация сущности.
        '''
        list_fields= self.__getFields()
        list_tags= self.__getTags()
        
        entity = EntityManager.createEntity(title=self._edit_title.text(),entity_type=self._entity.object_type,
                                            user_name=self._user_repo.name,file_path=self._entity.file_path, 
                                            list_tags=list_tags,list_fields=list_fields,
                                            id=self._entity.id)

        self.emit(QtCore.SIGNAL('updateEntity(list_entityes)'),(self._entity,entity))    
        self.__canceled()     
示例#3
0
 def __indexingFile(self):
     '''
         пометка файла метоинформацией. создается запись о файле в БД
     '''
     print('addFile')
     row=self._table.currentIndex().row()
     index = self._table.model().index(row,0)
     file_path = self._table.model().data(index)
     if not file_path==None:
         file_path = self._path_to_repo + os.path.sep + file_path 
         entity = EntityManager.createEntity(entity_type=SystemInfo.entity_file_type, user_name=self._user_repo, file_path=file_path)
         self.emit(QtCore.SIGNAL('indexingFile(entity)'),entity)
     else:
         self.info_window.setText('''не забываем выбирать файл
         ''')
         self.info_window.show()
         print('не забываем выбирать файл')
示例#4
0
    def __create(self):
        '''
            создание нового объекта. Передает с сигналом только что созданный объект Entity
        '''
        
        #обработка полей
        try:
            list_fields = self.__getFields()
        #обработка тегов
            list_tags = self.__getTags()
        except Exception as error:
            self.info_window.setText(str('''Ошибка синтаксиса. "имя = значение" дложно быть в одной строке.
Возможно перепутали поле "теги" с полем "поля".
            '''))
            self.info_window.show()
            return  
        list_entityes = []      
        if self._object_type == SystemInfo.entity_link_type:
            list_entityes.append(EntityManager.createEntity(title=self._edit_title.text(),entity_type=self._object_type,user_name=self._user_repo.name,
                                            list_tags=list_tags,list_fields=list_fields,
                                            notes=self._edit_description.text())) #добавить дату создания
        else:
            dir_path = self._edit_path_into_repo.text()
            if self.__isRepo(dir_path):
                if not self._edit_path.text()=='':
                    files_names= self._edit_path.text()
                    list_files = files_names.split(';')
                    progress_window = QtGui.QProgressDialog(self)
                     
                    progress_window.setMinimum(0)
                    progress_window.setMaximum(99)
                    progress_window.show()
                    count_files = len(list_files)
                    d_progress = 99/count_files
                    progress = 0    
                
                    for file_path in list_files: # убираются лишнии пробелы в начале и конце строки. Если пользователь вводил файлы вручную
                        print(file_path
                              )
                        if not self.__isRepo(os.path.split(file_path)[0]):
                            print('файл находится вне хранилищая... идет копирование')
                            file_path_copy = os.path.join(dir_path,os.path.split(file_path)[1])
                            print('file_path_copy',file_path_copy)
                            if not os.path.exists(file_path_copy):
                                try:
                                    shutil.copyfile(file_path, file_path_copy)
                                except IOError:
                                    self.info_window.setText(''' не найден копируемый файл:''' + file_path+ '''
Проверьте правильность пути к файлу.                                    ''')
                                    self.info_window.show()
                                    progress_window.close()
                                    return
                            file_path = self.__splitDirPath(file_path_copy)
                            print('bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'),file_path_copy
                            print('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',file_path)    
                            print('cccccccccccccccccccccccccccccccccccc',self._path_to_repo)
                        else:
                            print('добавляемый файл находится в хранилище')
                            file_path_copy = file_path
                            file_path = self.__splitDirPath(file_path_copy)
                            print('file_path_copy',file_path_copy)
                        print('file_path',file_path)
                        entity = EntityManager.createEntity(title=self._edit_title.text(),
                                                   entity_type=self._object_type,
                                                   user_name=self._user_repo.name,
                                                   file_path = file_path,
                                                   list_tags=list_tags,
                                                   list_fields=list_fields,
                                                   notes=self._edit_description.text()) #добавить дату создания
             
                        list_entityes.append(entity)
                        progress+=d_progress
                        print(progress)
                        progress_window.setValue(int(progress))
                        QtGui.QApplication.processEvents()
                    progress_window.close()
#                    progress+=d_progress
#                    print(progress)
#                    progress_window.setValue(int(progress))
                 
                else:
                    self.info_window.setText('''Не выбрано ни одного файла для копирвоания''')
                    self.info_window.show()
                #    print('епт.. файл выбери!')
            else:
                self.info_window.setText('''Выбранная директория не является хранилищем''')
                self.info_window.show()
#        for entity in list_entityes:
#            print('file_path',entity.file_path)
        index = 0
        for entity in list_entityes:
            print('entity file path' + str(index) + ' ',entity.file_path)
            index +=1
        self.emit(QtCore.SIGNAL('createEntity(list_entityes)'),list_entityes)
        self.close()