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()
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()
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('не забываем выбирать файл')
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()