Browse Source

use 'klass' property instead of actual VM object class

The later is going to be generic QubesVM class, to save admin.vm.List
calls.
Marek Marczykowski-Górecki 6 years ago
parent
commit
07162ba089

+ 1 - 1
qubesmanager/create_new_vm.py

@@ -63,7 +63,7 @@ class NewVmDlg(QDialog, Ui_NewVMDlg):
             self.template_vm,
             self.app, None,
             self.app.default_template,
-            (lambda vm: isinstance(vm, qubesadmin.vm.TemplateVM)),
+            (lambda vm: vm.klass == 'TemplateVM'),
             allow_internal=False, allow_default=True, allow_none=False)
 
         self.netvm_list, self.netvm_idx = utils.prepare_vm_choice(

+ 1 - 2
qubesmanager/global_settings.py

@@ -32,7 +32,6 @@ from .ui_globalsettingsdlg import *
 
 from configparser import ConfigParser
 from qubesadmin.utils import parse_size, updates_vms_status
-from qubesadmin.vm import TemplateVM
 
 qmemman_config_path = '/etc/qubes/qmemman.conf'
 
@@ -104,7 +103,7 @@ class GlobalSettingsWindow(Ui_GlobalSettings, QDialog):
             self.default_netvm_combo.setCurrentIndex(self.netvm_idx)
 
         #default template
-        templates = [vm for vm in all_vms if isinstance(vm, TemplateVM)]
+        templates = [vm for vm in all_vms if vm.klass == 'TemplateVM']
         self.template_idx = -1
 
         current_template = self.qvm_collection.default_template

+ 3 - 3
qubesmanager/settings.py

@@ -248,12 +248,12 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
             self.vmlabel.setVisible(True)
             self.vmlabel.setEnabled(not self.vm.is_running())
 
-        if isinstance(self.vm, qubesadmin.vm.AppVM):
+        if self.vm.klass == 'AppVM':
             self.template_list, self.template_idx = utils.prepare_vm_choice(
                 self.template_name,
                 self.vm, 'template',
                 self.vm.app.default_template,
-                (lambda vm: isinstance(vm, qubesadmin.vm.TemplateVM)),
+                (lambda vm: vm.klass == 'TemplateVM'),
                 allow_default=True, allow_none=False)
         else:
             self.template_name.setEnabled(False)
@@ -476,7 +476,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
                     self.default_dispvm,
                     self.vm, 'default_dispvm',
                     self.vm.app.default_dispvm,
-                    (lambda vm: isinstance(vm, qubesadmin.vm.DispVM)),
+                    (lambda vm: vm.klass == 'DispVM'),
                     allow_default=True, allow_none=True)
 
     def __apply_advanced_tab__(self):

+ 1 - 1
qubesmanager/utils.py

@@ -28,7 +28,7 @@ import qubesadmin
 from PyQt4.QtGui import QIcon
 
 def _filter_internal(vm):
-    return (not isinstance(vm, qubesadmin.vm.AdminVM)
+    return (not vm.klass == 'AdminVM'
         and not vm.features.get('internal', False))
 
 def prepare_choice(widget, holder, propname, choice, default,