Initial setup
Initialize .pylintrc, put ignore in used files' headers.
This commit is contained in:
parent
2f3d60b27a
commit
41b602ec48
196
.pylintrc
Normal file
196
.pylintrc
Normal file
@ -0,0 +1,196 @@
|
||||
[MASTER]
|
||||
persistent=no
|
||||
ignore=tests
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
# abstract-class-little-used: see http://www.logilab.org/ticket/111138
|
||||
# deprecated-method:
|
||||
# enable again after disabling py-3.4.3 asyncio.ensure_future compat hack
|
||||
disable=
|
||||
abstract-class-little-used,
|
||||
bad-continuation,
|
||||
cyclic-import,
|
||||
deprecated-method,
|
||||
duplicate-code,
|
||||
file-ignored,
|
||||
fixme,
|
||||
locally-disabled,
|
||||
locally-enabled,
|
||||
logging-format-interpolation,
|
||||
missing-docstring,
|
||||
star-args,
|
||||
wrong-import-order
|
||||
|
||||
[REPORTS]
|
||||
|
||||
# Set the output format. Available formats are text, parseable, colorized, msvs
|
||||
# (visual studio) and html
|
||||
output-format=colorized
|
||||
|
||||
#files-output=no
|
||||
reports=yes
|
||||
|
||||
[TYPECHECK]
|
||||
#ignored-classes=
|
||||
|
||||
ignore-mixin-members=yes
|
||||
generated-members=
|
||||
iter_entry_points,
|
||||
Element,ElementTree,QName,SubElement,fromstring,parse,tostring,
|
||||
|
||||
[BASIC]
|
||||
|
||||
# List of builtins function names that should not be used, separated by a comma
|
||||
bad-functions=
|
||||
|
||||
# Regular expression which should only match correct module names
|
||||
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
|
||||
|
||||
# Regular expression which should only match correct module level names
|
||||
const-rgx=(([A-Za-z_][A-Za-z0-9_]*)|(__.*__))$
|
||||
|
||||
# Regular expression which should only match correct class names
|
||||
class-rgx=([A-Z_][a-zA-Z0-9]+|TC_\d\d_[a-zA-Z0-9_]+)$
|
||||
|
||||
# Regular expression which should only match correct function names
|
||||
function-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression which should only match correct method names
|
||||
method-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression which should only match correct instance attribute names
|
||||
attr-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression which should only match correct argument names
|
||||
argument-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression which should only match correct variable names
|
||||
variable-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression which should only match correct list comprehension /
|
||||
# generator expression variable names
|
||||
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
|
||||
|
||||
# Good variable names which should always be accepted, separated by a comma
|
||||
good-names=e,i,j,k,m,p,v,ex,Run,_,log,vm
|
||||
|
||||
# Bad variable names which should always be refused, separated by a comma
|
||||
bad-names=foo,bar,baz,toto,tutu,tata
|
||||
|
||||
# Regular expression which should only match functions or classes name which do
|
||||
# not require a docstring
|
||||
no-docstring-rgx=__.*__
|
||||
|
||||
|
||||
[MISCELLANEOUS]
|
||||
|
||||
# List of note tags to take in consideration, separated by a comma.
|
||||
notes=FIXME,FIX,XXX,TODO
|
||||
|
||||
|
||||
[FORMAT]
|
||||
|
||||
# Maximum number of characters on a single line.
|
||||
max-line-length=80
|
||||
|
||||
# Maximum number of lines in a module
|
||||
max-module-lines=3000
|
||||
|
||||
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
|
||||
# tab).
|
||||
indent-string=' '
|
||||
|
||||
|
||||
[VARIABLES]
|
||||
|
||||
# Tells whether we should check for unused import in __init__ files.
|
||||
init-import=no
|
||||
|
||||
# A regular expression matching the beginning of the name of dummy variables
|
||||
# (i.e. not used).
|
||||
dummy-variables-rgx=_|dummy
|
||||
|
||||
|
||||
[SIMILARITIES]
|
||||
|
||||
# Minimum lines number of a similarity.
|
||||
min-similarity-lines=4
|
||||
|
||||
# Ignore comments when computing similarities.
|
||||
ignore-comments=yes
|
||||
|
||||
# Ignore docstrings when computing similarities.
|
||||
ignore-docstrings=yes
|
||||
|
||||
|
||||
[CLASSES]
|
||||
|
||||
# List of method names used to declare (i.e. assign) instance attributes.
|
||||
defining-attr-methods=__init__,__new__,setUp
|
||||
|
||||
# List of valid names for the first argument in a class method.
|
||||
valid-classmethod-first-arg=cls
|
||||
|
||||
|
||||
[IMPORTS]
|
||||
|
||||
# Deprecated modules which should not be used, separated by a comma
|
||||
deprecated-modules=regsub,TERMIOS,Bastion,rexec
|
||||
|
||||
# Create a graph of every (i.e. internal and external) dependencies in the
|
||||
# given file (report RP0402 must not be disabled)
|
||||
import-graph=
|
||||
|
||||
# Create a graph of external dependencies in the given file (report RP0402 must
|
||||
# not be disabled)
|
||||
ext-import-graph=
|
||||
|
||||
# Create a graph of internal dependencies in the given file (report RP0402 must
|
||||
# not be disabled)
|
||||
int-import-graph=
|
||||
|
||||
|
||||
[DESIGN]
|
||||
|
||||
# Maximum number of arguments for function / method
|
||||
max-args=35
|
||||
|
||||
# Argument names that match this expression will be ignored. Default to name
|
||||
# with leading underscore
|
||||
ignored-argument-names=_.*
|
||||
|
||||
# Maximum number of locals for function / method body
|
||||
# Let's have max-args + 5
|
||||
max-locals=40
|
||||
|
||||
# Maximum number of return / yield for function / method body
|
||||
max-returns=6
|
||||
|
||||
# Maximum number of branch for function / method body
|
||||
# 4x the default value
|
||||
max-branches=48
|
||||
|
||||
# Maximum number of statements in function / method body
|
||||
# Double default
|
||||
max-statements=100
|
||||
|
||||
# Maximum number of parents for a class (see R0901).
|
||||
max-parents=7
|
||||
|
||||
# Maximum number of attributes for a class (see R0902).
|
||||
max-attributes=15
|
||||
|
||||
# Minimum number of public methods for a class (see R0903).
|
||||
min-public-methods=2
|
||||
|
||||
# Maximum number of public methods for a class (see R0904).
|
||||
max-public-methods=100
|
||||
|
||||
|
||||
[EXCEPTIONS]
|
||||
|
||||
# Exceptions that will emit a warning when being caught. Defaults to
|
||||
# "Exception"
|
||||
overgeneral-exceptions=Exception,EnvironmentError
|
||||
|
||||
# vim: ft=conf
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/python2
|
||||
# coding=utf-8
|
||||
# pylint: skip-file
|
||||
#
|
||||
# The Qubes OS Project, http://www.qubes-os.org
|
||||
#
|
||||
|
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/python2
|
||||
# pylint: skip-file
|
||||
#
|
||||
# The Qubes OS Project, http://www.qubes-os.org
|
||||
#
|
||||
|
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/python2
|
||||
# pylint: skip-file
|
||||
#
|
||||
# The Qubes OS Project, http://www.qubes-os.org
|
||||
#
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/python2
|
||||
# -*- coding: utf8 -*-
|
||||
# pylint: skip-file
|
||||
#
|
||||
# The Qubes OS Project, http://www.qubes-os.org
|
||||
#
|
||||
|
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/python2
|
||||
# pylint: skip-file
|
||||
#
|
||||
# The Qubes OS Project, http://www.qubes-os.org
|
||||
#
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/python2
|
||||
# coding=utf-8
|
||||
# pylint: skip-file
|
||||
#
|
||||
# The Qubes OS Project, http://www.qubes-os.org
|
||||
#
|
||||
|
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/python2
|
||||
# pylint: skip-file
|
||||
#
|
||||
# The Qubes OS Project, http://www.qubes-os.org
|
||||
#
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/python2
|
||||
# coding=utf-8
|
||||
# pylint: skip-file
|
||||
#
|
||||
# The Qubes OS Project, http://www.qubes-os.org
|
||||
#
|
||||
|
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/python2
|
||||
# pylint: skip-file
|
||||
#
|
||||
# The Qubes OS Project, http://www.qubes-os.org
|
||||
#
|
||||
|
@ -43,12 +43,12 @@ from . import thread_monitor
|
||||
|
||||
from .appmenu_select import AppmenuSelectManager
|
||||
from .backup_utils import get_path_for_vm
|
||||
from .firewall import *
|
||||
from . import firewall
|
||||
|
||||
from .ui_settingsdlg import *
|
||||
from . import ui_settingsdlg
|
||||
from .bootfromdevice import main as bootfromdevice
|
||||
|
||||
class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
class VMSettingsWindow(ui_settingsdlg.Ui_SettingsDialog, firewall.QDialog):
|
||||
tabs_indices = collections.OrderedDict((
|
||||
('basic', 0),
|
||||
('advanced', 1),
|
||||
@ -75,8 +75,8 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
assert (idx in range(self.tabWidget.count()))
|
||||
self.tabWidget.setCurrentIndex(idx)
|
||||
|
||||
self.connect(self.buttonBox, SIGNAL("accepted()"), self.save_and_apply)
|
||||
self.connect(self.buttonBox, SIGNAL("rejected()"), self.reject)
|
||||
self.connect(self.buttonBox, firewall.SIGNAL("accepted()"), self.save_and_apply)
|
||||
self.connect(self.buttonBox, firewall.SIGNAL("rejected()"), self.reject)
|
||||
|
||||
self.tabWidget.currentChanged.connect(self.current_tab_changed)
|
||||
|
||||
@ -92,18 +92,18 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
###### advanced tab
|
||||
self.__init_advanced_tab__()
|
||||
self.include_in_balancing.stateChanged.connect(self.include_in_balancing_state_changed)
|
||||
self.connect(self.init_mem, SIGNAL("editingFinished()"), self.check_mem_changes)
|
||||
self.connect(self.max_mem_size, SIGNAL("editingFinished()"), self.check_mem_changes)
|
||||
self.connect(self.init_mem, firewall.SIGNAL("editingFinished()"), self.check_mem_changes)
|
||||
self.connect(self.max_mem_size, firewall.SIGNAL("editingFinished()"), self.check_mem_changes)
|
||||
self.bootFromDeviceButton.clicked.connect(self.boot_from_cdrom_button_pressed)
|
||||
|
||||
###### firewall tab
|
||||
if self.tabWidget.isTabEnabled(self.tabs_indices['firewall']):
|
||||
model = QubesFirewallRulesModel()
|
||||
model = firewall.QubesFirewallRulesModel()
|
||||
try:
|
||||
model.set_vm(vm)
|
||||
self.set_fw_model(model)
|
||||
self.firewallModifiedOutsidelabel.setVisible(False)
|
||||
except FirewallModifiedOutsideError as ex:
|
||||
except firewall.FirewallModifiedOutsideError as ex:
|
||||
self.disable_all_fw_conf()
|
||||
|
||||
self.newRuleButton.clicked.connect(self.new_rule_button_pressed)
|
||||
@ -114,7 +114,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
|
||||
####### devices tab
|
||||
self.__init_devices_tab__()
|
||||
self.connect(self.dev_list, SIGNAL("selected_changed()"), self.devices_selection_changed)
|
||||
self.connect(self.dev_list, firewall.SIGNAL("selected_changed()"), self.devices_selection_changed)
|
||||
|
||||
####### services tab
|
||||
self.__init_services_tab__()
|
||||
@ -141,7 +141,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
thread.daemon = True
|
||||
thread.start()
|
||||
|
||||
progress = QProgressDialog(
|
||||
progress = firewall.QProgressDialog(
|
||||
self.tr("Applying settings to <b>{0}</b>...").format(self.vm.name), "", 0, 0)
|
||||
progress.setCancelButton(None)
|
||||
progress.setModal(True)
|
||||
@ -154,9 +154,9 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
progress.hide()
|
||||
|
||||
if not t_monitor.success:
|
||||
QMessageBox.warning(None,
|
||||
self.tr("Error while changing settings for {0}!").format(self.vm.name),
|
||||
self.tr("ERROR: {0}").format(t_monitor.error_msg))
|
||||
firewall.QMessageBox.warning(None,
|
||||
self.tr("Error while changing settings for {0}!").format(self.vm.name),
|
||||
self.tr("ERROR: {0}").format(t_monitor.error_msg))
|
||||
|
||||
self.done(0)
|
||||
|
||||
@ -210,9 +210,9 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
netvm = self.vm.netvm
|
||||
if netvm is not None and \
|
||||
not netvm.features.check_with_template('qubes-firewall', False):
|
||||
QMessageBox.warning(None,
|
||||
self.tr("VM configuration problem!"),
|
||||
self.tr("The '{vm}' AppVM is network connected to "
|
||||
firewall.QMessageBox.warning(None,
|
||||
self.tr("VM configuration problem!"),
|
||||
self.tr("The '{vm}' AppVM is network connected to "
|
||||
"'{netvm}', which does not support firewall!<br/>"
|
||||
"You may edit the '{vm}' VM firewall rules, but these "
|
||||
"will not take any effect until you connect it to "
|
||||
@ -236,7 +236,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
|
||||
def __init_basic_tab__(self):
|
||||
self.vmname.setText(self.vm.name)
|
||||
self.vmname.setValidator(QRegExpValidator(QRegExp("[a-zA-Z0-9-]*", Qt.CaseInsensitive), None))
|
||||
self.vmname.setValidator(firewall.QRegExpValidator(firewall.QRegExp("[a-zA-Z0-9-]*", firewall.Qt.CaseInsensitive), None))
|
||||
self.vmname.setEnabled(False)
|
||||
self.rename_vm_button.setEnabled(not self.vm.is_running())
|
||||
self.delete_vm_button.setEnabled(not self.vm.is_running())
|
||||
@ -394,16 +394,16 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
|
||||
def check_mem_changes(self):
|
||||
if self.max_mem_size.value() < self.init_mem.value():
|
||||
QMessageBox.warning(None,
|
||||
self.tr("Warning!"),
|
||||
self.tr("Max memory can not be less than initial memory.<br>"
|
||||
firewall.QMessageBox.warning(None,
|
||||
self.tr("Warning!"),
|
||||
self.tr("Max memory can not be less than initial memory.<br>"
|
||||
"Setting max memory to equal initial memory."))
|
||||
self.max_mem_size.setValue(self.init_mem.value())
|
||||
# Linux specific limit: init memory must not be below max_mem_size/10.79 in order to allow scaling up to max_mem_size (or else "add_memory() failed: -17" problem)
|
||||
if self.init_mem.value() * 10 < self.max_mem_size.value():
|
||||
QMessageBox.warning(None,
|
||||
self.tr("Warning!"),
|
||||
self.tr("Initial memory can not be less than one tenth "
|
||||
firewall.QMessageBox.warning(None,
|
||||
self.tr("Warning!"),
|
||||
self.tr("Initial memory can not be less than one tenth "
|
||||
"Max memory.<br>Setting initial memory to the minimum "
|
||||
"allowed value."))
|
||||
self.init_mem.setValue(self.max_mem_size.value() / 10)
|
||||
@ -419,9 +419,9 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
time.sleep(0.1)
|
||||
|
||||
if not t_monitor.success:
|
||||
QMessageBox.warning(None,
|
||||
self.tr("Error!"),
|
||||
self.tr("ERROR: {}").format(
|
||||
firewall.QMessageBox.warning(None,
|
||||
self.tr("Error!"),
|
||||
self.tr("ERROR: {}").format(
|
||||
t_monitor.error_msg))
|
||||
|
||||
|
||||
@ -438,9 +438,9 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
|
||||
def rename_vm(self):
|
||||
|
||||
new_vm_name, ok = QInputDialog.getText(self,
|
||||
self.tr('Rename VM'),
|
||||
self.tr('New name: (WARNING: '
|
||||
new_vm_name, ok = firewall.QInputDialog.getText(self,
|
||||
self.tr('Rename VM'),
|
||||
self.tr('New name: (WARNING: '
|
||||
'all other changes will be discarded)'))
|
||||
|
||||
if ok:
|
||||
@ -458,7 +458,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
|
||||
def remove_vm(self):
|
||||
|
||||
answer, ok = QInputDialog.getText(
|
||||
answer, ok = firewall.QInputDialog.getText(
|
||||
self,
|
||||
self.tr('Delete VM'),
|
||||
self.tr('Are you absolutely sure you want to delete this VM? '
|
||||
@ -472,7 +472,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
self.done(0)
|
||||
|
||||
elif ok:
|
||||
QMessageBox.warning(
|
||||
firewall.QMessageBox.warning(
|
||||
None,
|
||||
self.tr("Removal cancelled"),
|
||||
self.tr("The VM will not be removed."))
|
||||
@ -488,14 +488,14 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
|
||||
def clone_vm(self):
|
||||
|
||||
cloned_vm_name, ok = QInputDialog.getText(
|
||||
cloned_vm_name, ok = firewall.QInputDialog.getText(
|
||||
self,
|
||||
self.tr('Clone VM'),
|
||||
self.tr('Name for the cloned VM:'))
|
||||
|
||||
if ok:
|
||||
self._run_in_thread(self._clone_vm, cloned_vm_name)
|
||||
QMessageBox.warning(
|
||||
firewall.QMessageBox.warning(
|
||||
None,
|
||||
self.tr("Success"),
|
||||
self.tr("The VM was cloned successfully."))
|
||||
@ -602,7 +602,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
for dev in lspci.splitlines():
|
||||
devs.append((dev.rstrip(), dev.split(' ')[0]))
|
||||
|
||||
class DevListWidgetItem(QListWidgetItem):
|
||||
class DevListWidgetItem(firewall.QListWidgetItem):
|
||||
def __init__(self, name, ident, parent = None):
|
||||
super(DevListWidgetItem, self).__init__(name, parent)
|
||||
self.ident = ident
|
||||
@ -645,7 +645,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
for i in range(self.dev_list.selected_list.count())]
|
||||
for ident in new:
|
||||
if ident not in old:
|
||||
ass = qubesadmin.devices.DeviceAssignment(
|
||||
ass = firewall.qubesadmin.devices.DeviceAssignment(
|
||||
self.vm.app.domains['dom0'],
|
||||
ident.replace(':', '_'),
|
||||
persistent=True)
|
||||
@ -671,7 +671,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
break
|
||||
|
||||
if self.dev_list.selected_list.count() > 0:
|
||||
if state == QtCore.Qt.Checked:
|
||||
if state == ui_settingsdlg.QtCore.Qt.Checked:
|
||||
self.dmm_warning_adv.show()
|
||||
self.dmm_warning_dev.show()
|
||||
else:
|
||||
@ -736,23 +736,23 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
if not feature.startswith('service.'):
|
||||
continue
|
||||
service = feature[len('service.'):]
|
||||
item = QListWidgetItem(service)
|
||||
item.setCheckState(QtCore.Qt.Checked
|
||||
if self.vm.features[feature] else QtCore.Qt.Unchecked)
|
||||
item = firewall.QListWidgetItem(service)
|
||||
item.setCheckState(ui_settingsdlg.QtCore.Qt.Checked
|
||||
if self.vm.features[feature] else ui_settingsdlg.QtCore.Qt.Unchecked)
|
||||
self.services_list.addItem(item)
|
||||
self.new_srv_dict[service] = self.vm.features[feature]
|
||||
|
||||
self.connect(self.services_list, SIGNAL("itemClicked(QListWidgetItem *)"), self.services_item_clicked)
|
||||
self.connect(self.services_list, firewall.SIGNAL("itemClicked(QListWidgetItem *)"), self.services_item_clicked)
|
||||
|
||||
def __add_service__(self):
|
||||
srv = str(self.service_line_edit.text()).strip()
|
||||
if srv != "":
|
||||
if srv in self.new_srv_dict:
|
||||
QMessageBox.information(None, '',
|
||||
self.tr('Service already on the list!'))
|
||||
firewall.QMessageBox.information(None, '',
|
||||
self.tr('Service already on the list!'))
|
||||
else:
|
||||
item = QListWidgetItem(srv)
|
||||
item.setCheckState(QtCore.Qt.Checked)
|
||||
item = firewall.QListWidgetItem(srv)
|
||||
item.setCheckState(ui_settingsdlg.QtCore.Qt.Checked)
|
||||
self.services_list.addItem(item)
|
||||
self.new_srv_dict[srv] = True
|
||||
|
||||
@ -762,9 +762,9 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
if not item:
|
||||
return
|
||||
if str(item.text()) == 'meminfo-writer':
|
||||
QMessageBox.information(None,
|
||||
self.tr('Service can not be removed'),
|
||||
self.tr('Service meminfo-writer can not be removed from the list.'))
|
||||
firewall.QMessageBox.information(None,
|
||||
self.tr('Service can not be removed'),
|
||||
self.tr('Service meminfo-writer can not be removed from the list.'))
|
||||
return
|
||||
|
||||
row = self.services_list.currentRow()
|
||||
@ -774,10 +774,10 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
|
||||
def services_item_clicked(self, item):
|
||||
if str(item.text()) == 'meminfo-writer':
|
||||
if item.checkState() == QtCore.Qt.Checked:
|
||||
if item.checkState() == ui_settingsdlg.QtCore.Qt.Checked:
|
||||
if not self.include_in_balancing.isChecked():
|
||||
self.include_in_balancing.setChecked(True)
|
||||
elif item.checkState() == QtCore.Qt.Unchecked:
|
||||
elif item.checkState() == ui_settingsdlg.QtCore.Qt.Unchecked:
|
||||
if self.include_in_balancing.isChecked():
|
||||
self.include_in_balancing.setChecked(False)
|
||||
|
||||
@ -788,7 +788,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
try:
|
||||
for r in range(self.services_list.count()):
|
||||
item = self.services_list.item(r)
|
||||
self.new_srv_dict[str(item.text())] = (item.checkState() == QtCore.Qt.Checked)
|
||||
self.new_srv_dict[str(item.text())] = (item.checkState() == ui_settingsdlg.QtCore.Qt.Checked)
|
||||
|
||||
balancing_was_checked = self.vm.features.get('service.meminfo-writer', True)
|
||||
balancing_is_checked = self.include_in_balancing.isChecked()
|
||||
@ -821,14 +821,14 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
def set_fw_model(self, model):
|
||||
self.fw_model = model
|
||||
self.rulesTreeView.setModel(model)
|
||||
self.rulesTreeView.header().setResizeMode(QHeaderView.ResizeToContents)
|
||||
self.rulesTreeView.header().setResizeMode(0, QHeaderView.Stretch)
|
||||
self.rulesTreeView.header().setResizeMode(firewall.QHeaderView.ResizeToContents)
|
||||
self.rulesTreeView.header().setResizeMode(0, firewall.QHeaderView.Stretch)
|
||||
self.set_allow(model.allow)
|
||||
if model.tempFullAccessExpireTime:
|
||||
self.tempFullAccess.setChecked(True)
|
||||
self.tempFullAccessTime.setValue(
|
||||
(model.tempFullAccessExpireTime -
|
||||
int(datetime.datetime.now().strftime("%s")))/60)
|
||||
int(firewall.datetime.datetime.now().strftime("%s"))) / 60)
|
||||
|
||||
def disable_all_fw_conf(self):
|
||||
self.firewallModifiedOutsidelabel.setVisible(True)
|
||||
@ -857,7 +857,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
self.policyDenyRadioButton.isChecked())
|
||||
|
||||
def new_rule_button_pressed(self):
|
||||
dialog = NewFwRuleDlg()
|
||||
dialog = firewall.NewFwRuleDlg()
|
||||
self.fw_model.run_rule_dialog(dialog)
|
||||
|
||||
def edit_rule_button_pressed(self):
|
||||
@ -865,7 +865,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
selected = self.rulesTreeView.selectedIndexes()
|
||||
|
||||
if len(selected) > 0:
|
||||
dialog = NewFwRuleDlg()
|
||||
dialog = firewall.NewFwRuleDlg()
|
||||
dialog.set_ok_enabled(True)
|
||||
row = self.rulesTreeView.selectedIndexes().pop().row()
|
||||
self.fw_model.populate_edit_dialog(dialog, row)
|
||||
@ -883,7 +883,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
||||
def handle_exception(exc_type, exc_value, exc_traceback):
|
||||
|
||||
filename, line, dummy, dummy = traceback.extract_tb(exc_traceback).pop()
|
||||
filename = os.path.basename(filename)
|
||||
filename = firewall.os.path.basename(filename)
|
||||
error = "%s: %s" % (exc_type.__name__, exc_value)
|
||||
|
||||
strace = ""
|
||||
@ -896,9 +896,9 @@ def handle_exception(exc_type, exc_value, exc_traceback):
|
||||
strace += "line no.: %d\n" %line
|
||||
strace += "file: %s\n" %filename
|
||||
|
||||
msg_box = QMessageBox()
|
||||
msg_box = firewall.QMessageBox()
|
||||
msg_box.setDetailedText(strace)
|
||||
msg_box.setIcon(QMessageBox.Critical)
|
||||
msg_box.setIcon(firewall.QMessageBox.Critical)
|
||||
msg_box.setWindowTitle("Houston, we have a problem...")
|
||||
msg_box.setText("Whoops. A critical error has occured. This is most likely a bug "
|
||||
"in Qubes Manager.<br><br>"
|
||||
@ -909,7 +909,7 @@ def handle_exception(exc_type, exc_value, exc_traceback):
|
||||
msg_box.exec_()
|
||||
|
||||
|
||||
parser = qubesadmin.tools.QubesArgumentParser(vmname_nargs=1)
|
||||
parser = firewall.qubesadmin.tools.QubesArgumentParser(vmname_nargs=1)
|
||||
|
||||
parser.add_argument('--tab', metavar='TAB',
|
||||
action='store',
|
||||
@ -925,13 +925,13 @@ def main(args=None):
|
||||
args = parser.parse_args(args)
|
||||
vm = args.domains.pop()
|
||||
|
||||
qapp = QApplication(sys.argv)
|
||||
qapp = firewall.QApplication(firewall.sys.argv)
|
||||
qapp.setOrganizationName('Invisible Things Lab')
|
||||
qapp.setOrganizationDomain("https://www.qubes-os.org/")
|
||||
qapp.setApplicationName("Qubes VM Settings")
|
||||
|
||||
if not utils.is_debug():
|
||||
sys.excepthook = handle_exception
|
||||
firewall.sys.excepthook = handle_exception
|
||||
|
||||
settings_window = VMSettingsWindow(vm, qapp, args.tab)
|
||||
settings_window.show()
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/python2
|
||||
# -*- coding: utf8 -*-
|
||||
# pylint: skip-file
|
||||
#
|
||||
# The Qubes OS Project, http://www.qubes-os.org
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user