def remove_category(self): try: session = Connector(db=os.environ['DB']).session category = session.query(Category).get( self.categories_list.selectedItems()[0].data(Qt.UserRole)) session.delete(category) session.commit() self.restart_ui() except IndexError: QMessageBox.information( None, 'Error', 'Please, select category item before delete them') except IntegrityError: QMessageBox.information( None, 'Error', 'You can\'t delete category that refers to item')