def handle(self): def refresh(percent, row): self._emitHandlerSignal( HandlerSignals.STATUS_BAR_MESSAGE, self.tr("Rebuilding thumbnails ({0}%)").format(percent)) self._emitHandlerSignal(HandlerSignals.RESET_SINGLE_ROW, row) QtCore.QCoreApplication.processEvents() try: self._tool.checkActiveRepoIsNotNone() self._tool.checkActiveUserIsNotNone() rows = self._tool.gui.selectedRows() if len(rows) == 0: raise errors.MsgException( self.tr("There are no selected items.")) uow = self._tool.repo.createUnitOfWork() try: items = [] for row in rows: item = self._tool.gui.itemAtRow(row) item.table_row = row items.append(item) thread = threads.ThumbnailBuilderThread(self._tool.gui, self._tool.repo, items, self._tool.itemsLock, rebuild=True) self.connect( thread, QtCore.SIGNAL("exception"), lambda exc_info: show_exc_info(self._tool.gui, exc_info[1], details=format_exc_info(*exc_info))) self.connect(thread, QtCore.SIGNAL("progress"), lambda percents, row: refresh(percents, row)) self.connect( thread, QtCore.SIGNAL("finished"), lambda: self._emitHandlerSignal( HandlerSignals.STATUS_BAR_MESSAGE, self.tr("Rebuild thumbnails is done."))) thread.start() finally: uow.close() stats.sendEvent("items_table.rebuild_item_thumbnail") except Exception as ex: show_exc_info(self._tool.gui, ex)
def handle(self): def refresh(percent, row): self._emitHandlerSignal( HandlerSignals.STATUS_BAR_MESSAGE, self.tr("Integrity fix {0}%").format(percent)) self._emitHandlerSignal(HandlerSignals.RESET_SINGLE_ROW, row) QtCore.QCoreApplication.processEvents() try: self._tool.checkActiveRepoIsNotNone() self._tool.checkActiveUserIsNotNone() rows = self._tool.gui.selectedRows() if len(rows) == 0: raise errors.MsgException( self.tr("There are no selected items.")) items = [] for row in rows: item = self._tool.gui.itemAtRow(row) item.table_row = row items.append(item) thread = threads.ItemIntegrityFixerThread(self._tool.gui, self._tool.repo, items, self._tool.itemsLock, self.__strategy, self._tool.user.login) self.connect(thread, QtCore.SIGNAL("progress"), lambda percents, row: refresh(percents, row)) self.connect( thread, QtCore.SIGNAL("finished"), lambda: self._emitHandlerSignal( HandlerSignals.STATUS_BAR_MESSAGE, self.tr("Integrity fixing is done."))) self.connect( thread, QtCore.SIGNAL("exception"), lambda exc_info: show_exc_info(self._tool.gui, exc_info[1], details=format_exc_info(*exc_info))) thread.start() stats.sendEvent("items_table.fix_item_integrity_error") except Exception as ex: show_exc_info(self._tool.gui, ex)
def handle(self): def refresh(percent, row): self._emitHandlerSignal(HandlerSignals.STATUS_BAR_MESSAGE, self.tr("Rebuilding thumbnails ({0}%)").format(percent)) self._emitHandlerSignal(HandlerSignals.RESET_SINGLE_ROW, row) QtCore.QCoreApplication.processEvents() try: self._tool.checkActiveRepoIsNotNone() self._tool.checkActiveUserIsNotNone() rows = self._tool.gui.selectedRows() if len(rows) == 0: raise errors.MsgException(self.tr("There are no selected items.")) uow = self._tool.repo.createUnitOfWork() try: items = [] for row in rows: item = self._tool.gui.itemAtRow(row) item.table_row = row items.append(item) thread = threads.ThumbnailBuilderThread( self._tool.gui, self._tool.repo, items, self._tool.itemsLock, rebuild=True) self.connect(thread, QtCore.SIGNAL("exception"), lambda exc_info: show_exc_info( self._tool.gui, exc_info[1], details=format_exc_info(*exc_info))) self.connect(thread, QtCore.SIGNAL("progress"), lambda percents, row: refresh(percents, row)) self.connect(thread, QtCore.SIGNAL("finished"), lambda: self._emitHandlerSignal(HandlerSignals.STATUS_BAR_MESSAGE, self.tr("Rebuild thumbnails is done."))) thread.start() finally: uow.close() stats.sendEvent("items_table.rebuild_item_thumbnail") except Exception as ex: show_exc_info(self._tool.gui, ex)
def handle(self): def refresh(percent, row): self._emitHandlerSignal(HandlerSignals.STATUS_BAR_MESSAGE, self.tr("Integrity fix {0}%").format(percent)) self._emitHandlerSignal(HandlerSignals.RESET_SINGLE_ROW, row) QtCore.QCoreApplication.processEvents() try: self._tool.checkActiveRepoIsNotNone() self._tool.checkActiveUserIsNotNone() rows = self._tool.gui.selectedRows() if len(rows) == 0: raise errors.MsgException(self.tr("There are no selected items.")) items = [] for row in rows: item = self._tool.gui.itemAtRow(row) item.table_row = row items.append(item) thread = threads.ItemIntegrityFixerThread( self._tool.gui, self._tool.repo, items, self._tool.itemsLock, self.__strategy, self._tool.user.login) self.connect(thread, QtCore.SIGNAL("progress"), lambda percents, row: refresh(percents, row)) self.connect(thread, QtCore.SIGNAL("finished"), lambda: self._emitHandlerSignal(HandlerSignals.STATUS_BAR_MESSAGE, self.tr("Integrity fixing is done."))) self.connect(thread, QtCore.SIGNAL("exception"), lambda exc_info: show_exc_info(self._tool.gui, exc_info[1], details=format_exc_info(*exc_info))) thread.start() stats.sendEvent("items_table.fix_item_integrity_error") except Exception as ex: show_exc_info(self._tool.gui, ex)