diff --git a/qubesadmin/vm/__init__.py b/qubesadmin/vm/__init__.py index a22d65c..a7edc7d 100644 --- a/qubesadmin/vm/__init__.py +++ b/qubesadmin/vm/__init__.py @@ -315,6 +315,21 @@ class QubesVM(qubesadmin.base.PropertyHolder): e.cmd = command raise e + @property + def appvms(self): + ''' Returns a generator containing all domains based on the current + TemplateVM. + + Do not check vm type of self, core (including its extentions) have + ultimate control what can be a template of what. + ''' + for vm in self.app.domains: + try: + if vm.template == self: + yield vm + except AttributeError: + pass + @property def klass(self): ''' Qube class ''' @@ -342,18 +357,8 @@ class StandaloneVM(QubesVM): class TemplateVM(QubesVM): '''Template for AppVM''' + pass - @property - def appvms(self): - ''' Returns a generator containing all domains based on the current - TemplateVM. - ''' - for vm in self.app.domains: - try: - if vm.template == self: - yield vm - except AttributeError: - pass class DispVMWrapper(QubesVM): '''Wrapper class for new DispVM, supporting only service call