From fcaca57fc67883646615de405a4f1dc9e9fcbbaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marta=20Marczykowska-G=C3=B3recka?= Date: Sat, 10 Mar 2018 22:31:41 +0100 Subject: [PATCH] Fixed a bunch of useless asserts Replaced them with a more flexible behavior or removed if they were not actually necessary (and handled elsewhere). fixes QubesOS/qubes-issues#3623 --- qubesmanager/qube_manager.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/qubesmanager/qube_manager.py b/qubesmanager/qube_manager.py index d26b199..436cad2 100644 --- a/qubesmanager/qube_manager.py +++ b/qubesmanager/qube_manager.py @@ -754,7 +754,6 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QtGui.QMainWindow): @QtCore.pyqtSlot(name='on_action_pausevm_triggered') def action_pausevm_triggered(self): vm = self.get_selected_vm() - assert vm.is_running() try: vm.pause() self.update_single_row(vm) @@ -769,7 +768,6 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QtGui.QMainWindow): @QtCore.pyqtSlot(name='on_action_shutdownvm_triggered') def action_shutdownvm_triggered(self): vm = self.get_selected_vm() - assert vm.is_running() reply = QtGui.QMessageBox.question( None, self.tr("Qube Shutdown Confirmation"), @@ -807,7 +805,6 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QtGui.QMainWindow): @QtCore.pyqtSlot(name='on_action_restartvm_triggered') def action_restartvm_triggered(self): vm = self.get_selected_vm() - assert vm.is_running() reply = QtGui.QMessageBox.question( None, self.tr("Qube Restart Confirmation"), @@ -819,7 +816,11 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QtGui.QMainWindow): self.qt_app.processEvents() if reply == QtGui.QMessageBox.Yes: - self.shutdown_vm(vm, and_restart=True) + # in case the user shut down the VM in the meantime + if vm.is_running(): + self.shutdown_vm(vm, and_restart=True) + else: + self.start_vm(vm) self.update_single_row(vm) @@ -827,14 +828,20 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QtGui.QMainWindow): @QtCore.pyqtSlot(name='on_action_killvm_triggered') def action_killvm_triggered(self): vm = self.get_selected_vm() - assert vm.is_running() or vm.is_paused() + if not (vm.is_running() or vm.is_paused()): + info = self.tr("Qube '{0}' is not running. Are you " + "absolutely sure you want to try to kill it?
" + "This will end (not shutdown!) all " + "the running applications within this " + "Qube.").format(vm.name) + else: + info = self.tr("Are you sure you want to kill the Qube " + "'{0}'?
This will end (not " + "shutdown!) all the running applications within " + "this Qube.").format(vm.name) reply = QtGui.QMessageBox.question( - None, self.tr("Qube Kill Confirmation"), - self.tr("Are you sure you want to kill the Qube '{0}'?
" - "This will end (not shutdown!) all the " - "running applications within this Qube.").format( - vm.name), + None, self.tr("Qube Kill Confirmation"), info, QtGui.QMessageBox.Yes | QtGui.QMessageBox.Cancel, QtGui.QMessageBox.Cancel)