From 03bc15dd3872303871d2226d813ef45755e3323b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Pierret=20=28fepitre=29?= Date: Sun, 20 Oct 2019 21:12:31 +0200 Subject: [PATCH] app: switch get_local_name method to property --- qubesadmin/app.py | 12 ++++++------ qubesadmin/tests/tools/qvm_start_gui.py | 4 ++-- qubesadmin/tools/qvm_start_gui.py | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/qubesadmin/app.py b/qubesadmin/app.py index 9bfc5b3..4be23cd 100644 --- a/qubesadmin/app.py +++ b/qubesadmin/app.py @@ -153,8 +153,6 @@ class QubesBase(qubesadmin.base.PropertyHolder): log = None #: do not check for object (VM, label etc) existence before really needed blind_mode = False - #: local name - local_name = None def __init__(self): super(QubesBase, self).__init__(self, 'admin.property.', 'dom0') @@ -166,6 +164,7 @@ class QubesBase(qubesadmin.base.PropertyHolder): #: cache for available storage pool drivers and options to create them self._pool_drivers = None self.log = logging.getLogger('app') + self._local_name = None def list_vmclass(self): """Call Qubesd in order to obtain the vm classes list""" @@ -228,12 +227,13 @@ class QubesBase(qubesadmin.base.PropertyHolder): """ Remove a storage pool """ self.qubesd_call('dom0', 'admin.pool.Remove', name, None) - def get_local_name(self): + @property + def local_name(self): """ Get localhost name """ - if not self.local_name: - self.local_name = os.uname()[1] + if not self._local_name: + self._local_name = os.uname()[1] - return self.local_name + return self._local_name def get_label(self, label): """Get label as identified by index or name diff --git a/qubesadmin/tests/tools/qvm_start_gui.py b/qubesadmin/tests/tools/qvm_start_gui.py index 9ec4337..f3af184 100644 --- a/qubesadmin/tests/tools/qvm_start_gui.py +++ b/qubesadmin/tests/tools/qvm_start_gui.py @@ -399,7 +399,7 @@ class TC_00_qvm_start_gui(qubesadmin.tests.QubesTestCase): ('test-vm', 'admin.vm.property.Get', 'guivm', None)] = \ b'0\x00default=False type=vm gui-vm' - self.app.local_name = 'gui-vm' + self.app._local_name = 'gui-vm' vm = self.app.domains['test-vm'] mock_start_vm = unittest.mock.Mock() mock_start_stubdomain = unittest.mock.Mock() @@ -681,7 +681,7 @@ HDMI1 connected 2560x1920+0+0 (normal left inverted right x axis y axis) 206mm x ('test-vm4', 'admin.vm.property.Get', 'guivm', None)] = \ b'0\x00default=False type=vm gui-vm' - self.app.local_name = 'gui-vm' + self.app._local_name = 'gui-vm' vm = self.app.domains['test-vm'] vm2 = self.app.domains['test-vm2'] diff --git a/qubesadmin/tools/qvm_start_gui.py b/qubesadmin/tools/qvm_start_gui.py index 7de5479..1cac518 100644 --- a/qubesadmin/tools/qvm_start_gui.py +++ b/qubesadmin/tools/qvm_start_gui.py @@ -253,7 +253,7 @@ class GUILauncher(object): :param monitor_layout: monitor layout configuration """ guivm = getattr(vm, 'guivm', None) - if guivm != vm.app.get_local_name(): + if guivm != vm.app.local_name: vm.log.info('GUI connected to {}. Skipping.'.format(guivm)) return @@ -316,7 +316,7 @@ class GUILauncher(object): """Send monitor layout to all (running) VMs""" monitor_layout = get_monitor_layout() for vm in self.app.domains: - if getattr(vm, 'guivm', None) != vm.app.get_local_name(): + if getattr(vm, 'guivm', None) != vm.app.local_name: continue if vm.klass == 'AdminVM': continue @@ -329,7 +329,7 @@ class GUILauncher(object): def on_domain_spawn(self, vm, _event, **kwargs): """Handler of 'domain-spawn' event, starts GUI daemon for stubdomain""" try: - if getattr(vm, 'guivm', None) != vm.app.get_local_name(): + if getattr(vm, 'guivm', None) != vm.app.local_name: return if not vm.features.check_with_template('gui', True): return @@ -342,7 +342,7 @@ class GUILauncher(object): def on_domain_start(self, vm, _event, **kwargs): """Handler of 'domain-start' event, starts GUI daemon for actual VM""" try: - if getattr(vm, 'guivm', None) != vm.app.get_local_name(): + if getattr(vm, 'guivm', None) != vm.app.local_name: return if not vm.features.check_with_template('gui', True): return @@ -360,7 +360,7 @@ class GUILauncher(object): for vm in self.app.domains: if vm.klass == 'AdminVM': continue - if getattr(vm, 'guivm', None) != vm.app.get_local_name(): + if getattr(vm, 'guivm', None) != vm.app.local_name: continue if not vm.features.check_with_template('gui', True): continue