First pylint pass

Fixed errors pointed out by pylint.
This commit is contained in:
Marta Marczykowska-Górecka 2017-12-11 00:50:40 +01:00
parent 4e2835531e
commit a1c6e72569
No known key found for this signature in database
GPG Key ID: 9A752C30B26FD04B
5 changed files with 56 additions and 63 deletions
qubesmanager
test-packages/qubes/storage

View File

@ -1,5 +1,4 @@
#!/usr/bin/python3 #!/usr/bin/python3
# pylint: skip-file
# #
# The Qubes OS Project, http://www.qubes-os.org # The Qubes OS Project, http://www.qubes-os.org
# #
@ -30,7 +29,7 @@ from qubesadmin import Qubes, events, exc
from qubesadmin import utils as admin_utils from qubesadmin import utils as admin_utils
from qubes.storage.file import get_disk_usage from qubes.storage.file import get_disk_usage
from PyQt4 import QtCore # pylint: disable=import-error from PyQt4 import QtCore # pylint: disable=import-error
from PyQt4 import QtGui # pylint: disable=import-error from PyQt4 import QtGui # pylint: disable=import-error
from . import ui_backupdlg from . import ui_backupdlg
from . import multiselectwidget from . import multiselectwidget
@ -57,12 +56,10 @@ class BackupVMsWindow(ui_backupdlg.Ui_Backup, multiselectwidget.QtGui.QWizard):
self.qvm_collection = qvm_collection self.qvm_collection = qvm_collection
self.backup_settings = QtCore.QSettings() self.backup_settings = QtCore.QSettings()
self.func_output = []
self.selected_vms = [] self.selected_vms = []
self.tmpdir_to_remove = None self.tmpdir_to_remove = None
self.canceled = False self.canceled = False
self.thread_monitor = None
self.files_to_backup = None
self.setupUi(self) self.setupUi(self)
@ -122,7 +119,12 @@ class BackupVMsWindow(ui_backupdlg.Ui_Backup, multiselectwidget.QtGui.QWizard):
def load_settings(self): def load_settings(self):
try: try:
profile_data = backup_utils.load_backup_profile() profile_data = backup_utils.load_backup_profile()
except Exception as ex: # TODO: fix just for file not found except FileNotFoundError as ex: # pylint: disable=unused-variable
return
except exc.QubesException as qex: # pylint: disable=unused-variable
QtGui.QMessageBox.information(
None, self.tr("Error loading backup profile"),
self.tr("Unable to load saved backup profile."))
return return
if not profile_data: if not profile_data:
return return
@ -157,6 +159,7 @@ class BackupVMsWindow(ui_backupdlg.Ui_Backup, multiselectwidget.QtGui.QWizard):
backup_utils.write_backup_profile(settings, use_temp) backup_utils.write_backup_profile(settings, use_temp)
class VmListItem(QtGui.QListWidgetItem): class VmListItem(QtGui.QListWidgetItem):
# pylint: disable=too-few-public-methods
def __init__(self, vm): def __init__(self, vm):
self.vm = vm self.vm = vm
if vm.qid == 0: if vm.qid == 0:
@ -207,6 +210,7 @@ class BackupVMsWindow(ui_backupdlg.Ui_Backup, multiselectwidget.QtGui.QWizard):
backup_utils.select_path_button_clicked(self) backup_utils.select_path_button_clicked(self)
def validateCurrentPage(self): def validateCurrentPage(self):
# pylint: disable=invalid-name
if self.currentPage() is self.select_vms_page: if self.currentPage() is self.select_vms_page:
self.selected_vms = [] self.selected_vms = []
@ -243,13 +247,10 @@ class BackupVMsWindow(ui_backupdlg.Ui_Backup, multiselectwidget.QtGui.QWizard):
return True return True
# def gather_output(self, s):
# self.func_output.append(s)
def update_progress_bar(self, value): def update_progress_bar(self, value):
self.emit(QtCore.SIGNAL("backup_progress(int)"), value) self.emit(QtCore.SIGNAL("backup_progress(int)"), value)
def __do_backup__(self, thread_monitor): def __do_backup__(self, t_monitor):
msg = [] msg = []
try: try:
@ -257,29 +258,23 @@ class BackupVMsWindow(ui_backupdlg.Ui_Backup, multiselectwidget.QtGui.QWizard):
events_dispatcher = events.EventsDispatcher(self.app) events_dispatcher = events.EventsDispatcher(self.app)
events_dispatcher.add_handler('backup-progress', events_dispatcher.add_handler('backup-progress',
self.update_progress_bar) self.update_progress_bar)
try: vm = self.qvm_collection.domains[
vm = self.qvm_collection.domains[ self.appvm_combobox.currentText()]
self.appvm_combobox.currentText()] if not vm.is_running():
if not vm.is_running(): vm.start()
vm.start() self.qvm_collection.qubesd_call(
self.qvm_collection.qubesd_call( 'dom0', 'admin.backup.Execute',
'dom0', 'admin.backup.Execute', backup_utils.get_profile_name(True))
backup_utils.get_profile_name(True)) except Exception as ex: # pylint: disable=broad-except
except exc.QubesException as err:
# TODO fixme
print('\nBackup error: {}'.format(err), file=sys.stderr)
return 1
except Exception as ex: # TODO: fixme
print("Exception:", ex)
msg.append(str(ex)) msg.append(str(ex))
if len(msg) > 0: if len(msg) > 0:
thread_monitor.set_error_msg('\n'.join(msg)) t_monitor.set_error_msg('\n'.join(msg))
thread_monitor.set_finished() t_monitor.set_finished()
def current_page_changed(self, id): def current_page_changed(self, page_id): # pylint: disable=unused-argument
old_sigchld_handler = signal.signal(signal.SIGCHLD, signal.SIG_DFL) old_sigchld_handler = signal.signal(signal.SIGCHLD, signal.SIG_DFL)
if self.currentPage() is self.confirm_page: if self.currentPage() is self.confirm_page:
@ -371,6 +366,7 @@ class BackupVMsWindow(ui_backupdlg.Ui_Backup, multiselectwidget.QtGui.QWizard):
return len(self.dir_line_edit.text()) > 0 return len(self.dir_line_edit.text()) > 0
def backup_location_changed(self, new_dir=None): def backup_location_changed(self, new_dir=None):
# pylint: disable=unused-argument
self.select_dir_page.emit(QtCore.SIGNAL("completeChanged()")) self.select_dir_page.emit(QtCore.SIGNAL("completeChanged()"))

View File

@ -1,5 +1,4 @@
#!/usr/bin/python2 #!/usr/bin/python2
# pylint: skip-file
# #
# The Qubes OS Project, http://www.qubes-os.org # The Qubes OS Project, http://www.qubes-os.org
# #
@ -67,6 +66,7 @@ def select_path_button_clicked(dialog, select_file=False):
"qubes.SelectFile" if select_file "qubes.SelectFile" if select_file
else "qubes.SelectDirectory") else "qubes.SelectDirectory")
except subprocess.CalledProcessError as ex: except subprocess.CalledProcessError as ex:
# pylint: disable=unused-variable
QtGui.QMessageBox.warning( QtGui.QMessageBox.warning(
None, None,
dialog.tr("Nothing selected!"), dialog.tr("Nothing selected!"),

View File

@ -1,5 +1,4 @@
#!/usr/bin/python2 #!/usr/bin/python2
# pylint: skip-file
# #
# The Qubes OS Project, http://www.qubes-os.org # The Qubes OS Project, http://www.qubes-os.org
# #
@ -22,13 +21,12 @@
# #
import sys import sys
import os
import shutil import shutil
from PyQt4 import QtCore from PyQt4 import QtCore
from PyQt4 import QtGui from PyQt4 import QtGui
from . import thread_monitor
import threading import threading
import time import time
import os
import os.path import os.path
import traceback import traceback
@ -38,8 +36,9 @@ from qubes import backup
from . import ui_restoredlg from . import ui_restoredlg
from . import multiselectwidget from . import multiselectwidget
from . import backup_utils from . import backup_utils
from . import thread_monitor
from multiprocessing import Queue, Event from multiprocessing import Queue, Event
from multiprocessing.queues import Empty from multiprocessing.queues import Empty
from qubesadmin import Qubes, exc from qubesadmin import Qubes, exc
@ -56,13 +55,15 @@ class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
self.app = app self.app = app
self.qvm_collection = qvm_collection self.qvm_collection = qvm_collection
self.restore_options = None
self.vms_to_restore = None self.vms_to_restore = None
self.func_output = [] self.func_output = []
self.feedback_queue = Queue() self.feedback_queue = Queue()
self.canceled = False self.canceled = False
self.tmpdir_to_remove = None self.tmpdir_to_remove = None
self.error_detected = Event() self.error_detected = Event()
self.thread_monitor = None
self.backup_restore = None
self.target_appvm = None
self.setupUi(self) self.setupUi(self)
@ -70,12 +71,14 @@ class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
self.select_vms_layout.insertWidget(1, self.select_vms_widget) self.select_vms_layout.insertWidget(1, self.select_vms_widget)
self.connect(self, self.connect(self,
QtCore.SIGNAL("currentIdChanged(int)"), self.current_page_changed) QtCore.SIGNAL("currentIdChanged(int)"),
self.current_page_changed)
self.connect(self, self.connect(self,
QtCore.SIGNAL("restore_progress(QString)"), QtCore.SIGNAL("restore_progress(QString)"),
self.commit_text_edit.append) self.commit_text_edit.append)
self.connect(self, self.connect(self,
QtCore.SIGNAL("backup_progress(int)"), self.progress_bar.setValue) QtCore.SIGNAL("backup_progress(int)"),
self.progress_bar.setValue)
self.dir_line_edit.connect(self.dir_line_edit, self.dir_line_edit.connect(self.dir_line_edit,
QtCore.SIGNAL("textChanged(QString)"), QtCore.SIGNAL("textChanged(QString)"),
self.backup_location_changed) self.backup_location_changed)
@ -98,17 +101,7 @@ class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
def select_path_button_clicked(self): def select_path_button_clicked(self):
backup_utils.select_path_button_clicked(self, True) backup_utils.select_path_button_clicked(self, True)
def on_ignore_missing_toggled(self, checked): def cleanupPage(self, p_int): # pylint: disable=invalid-name
self.restore_options['use-default-template'] = checked
self.restore_options['use-default-netvm'] = checked
def on_ignore_uname_mismatch_toggled(self, checked):
self.restore_options['ignore-username-mismatch'] = checked
def on_verify_only_toogled(self, checked):
self.restore_options['verify-only'] = bool(checked)
def cleanupPage(self, p_int):
if self.page(p_int) is self.select_vms_page: if self.page(p_int) is self.select_vms_page:
self.vms_to_restore = None self.vms_to_restore = None
else: else:
@ -154,22 +147,20 @@ class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
except exc.QubesException as ex: except exc.QubesException as ex:
QtGui.QMessageBox.warning(None, self.tr("Restore error!"), str(ex)) QtGui.QMessageBox.warning(None, self.tr("Restore error!"), str(ex))
def gather_output(self, s): def restore_error_output(self, text):
self.func_output.append(s)
def restore_error_output(self, s):
self.error_detected.set() self.error_detected.set()
self.feedback_queue.put((QtCore.SIGNAL("restore_progress(QString)"), self.feedback_queue.put((QtCore.SIGNAL("restore_progress(QString)"),
u'<font color="red">{0}</font>'.format(s))) u'<font color="red">{0}</font>'.format(text)))
def restore_output(self, s): def restore_output(self, text):
self.feedback_queue.put((QtCore.SIGNAL("restore_progress(QString)"), self.feedback_queue.put((
u'<font color="black">{0}</font>'.format(s))) QtCore.SIGNAL("restore_progress(QString)"),
u'<font color="black">{0}</font>'.format(text)))
def update_progress_bar(self, value): def update_progress_bar(self, value):
self.feedback_queue.put((QtCore.SIGNAL("backup_progress(int)"), value)) self.feedback_queue.put((QtCore.SIGNAL("backup_progress(int)"), value))
def __do_restore__(self, thread_monitor): def __do_restore__(self, t_monitor):
err_msg = [] err_msg = []
try: try:
self.backup_restore.progress_callback = self.update_progress_bar self.backup_restore.progress_callback = self.update_progress_bar
@ -179,7 +170,7 @@ class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
self.canceled = True self.canceled = True
self.tmpdir_to_remove = ex.tmpdir self.tmpdir_to_remove = ex.tmpdir
err_msg.append(str(ex)) err_msg.append(str(ex))
except Exception as ex: except Exception as ex: # pylint: disable=broad-except
err_msg.append(str(ex)) err_msg.append(str(ex))
err_msg.append( err_msg.append(
self.tr("Partially restored files left in /var/tmp/restore_*, " self.tr("Partially restored files left in /var/tmp/restore_*, "
@ -191,7 +182,7 @@ class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
.format(self.tr("Restore aborted!"))) .format(self.tr("Restore aborted!")))
elif len(err_msg) > 0 or self.error_detected.is_set(): elif len(err_msg) > 0 or self.error_detected.is_set():
if len(err_msg) > 0: if len(err_msg) > 0:
thread_monitor.set_error_msg('\n'.join(err_msg)) t_monitor.set_error_msg('\n'.join(err_msg))
self.emit(QtCore.SIGNAL("restore_progress(QString)"), self.emit(QtCore.SIGNAL("restore_progress(QString)"),
'<b><font color="red">{0}</font></b>' '<b><font color="red">{0}</font></b>'
.format(self.tr("Finished with errors!"))) .format(self.tr("Finished with errors!")))
@ -200,9 +191,9 @@ class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
'<font color="green">{0}</font>' '<font color="green">{0}</font>'
.format(self.tr("Finished successfully!"))) .format(self.tr("Finished successfully!")))
thread_monitor.set_finished() t_monitor.set_finished()
def current_page_changed(self, id): def current_page_changed(self, page_id): # pylint: disable=unused-argument
old_sigchld_handler = signal.signal(signal.SIGCHLD, signal.SIG_DFL) old_sigchld_handler = signal.signal(signal.SIGCHLD, signal.SIG_DFL)
if self.currentPage() is self.select_vms_page: if self.currentPage() is self.select_vms_page:
@ -237,16 +228,18 @@ class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
.count("media/") > 0) .count("media/") > 0)
self.thread_monitor = thread_monitor.ThreadMonitor() self.thread_monitor = thread_monitor.ThreadMonitor()
thread = threading.Thread (target=self.__do_restore__, args=(self.thread_monitor,)) thread = threading.Thread(target=self.__do_restore__,
args=(self.thread_monitor,))
thread.daemon = True thread.daemon = True
thread.start() thread.start()
while not self.thread_monitor.is_finished(): while not self.thread_monitor.is_finished():
self.app.processEvents() self.app.processEvents()
time.sleep (0.1) time.sleep(0.1)
try: try:
for (signal_to_emit,data) in iter(self.feedback_queue.get_nowait,None): for (signal_to_emit, data) in iter(
self.emit(signal_to_emit,data) self.feedback_queue.get_nowait, None):
self.emit(signal_to_emit, data)
except Empty: except Empty:
pass pass
@ -325,6 +318,7 @@ class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
return self.select_vms_widget.selected_list.count() > 0 return self.select_vms_widget.selected_list.count() > 0
def backup_location_changed(self, new_dir=None): def backup_location_changed(self, new_dir=None):
# pylint: disable=unused-argument
self.select_dir_page.emit(QtCore.SIGNAL("completeChanged()")) self.select_dir_page.emit(QtCore.SIGNAL("completeChanged()"))

View File

@ -0,0 +1 @@
pass

View File

@ -0,0 +1,2 @@
def get_disk_usage(*args):
return None