diff --git a/qubes/tools/qvm_features.py b/qubes/tools/qvm_features.py index 846e36d7..3aedb639 100644 --- a/qubes/tools/qvm_features.py +++ b/qubes/tools/qvm_features.py @@ -58,21 +58,22 @@ def main(args=None): ''' args = parser.parse_args(args) + vm = args.domains[0] if args.request: # Request mode: instead of setting the features directly, # let the extensions handle them first. - args.vm.fire_event('feature-request', untrusted_features=args.features) + vm.fire_event('feature-request', untrusted_features=args.features) return 0 if args.feature is None: if args.delete: parser.error('--unset requires a feature') - width = max(len(feature) for feature in args.vm.features) - for feature in sorted(args.vm.features): + width = max(len(feature) for feature in vm.features) + for feature in sorted(vm.features): print('{name:{width}s} {value}'.format( - name=feature, value=args.vm.features[feature], width=width)) + name=feature, value=vm.features[feature], width=width)) return 0 @@ -80,7 +81,7 @@ def main(args=None): if args.value is not None: parser.error('cannot both set and unset a value') try: - del args.vm.features[args.feature] + del vm.features[args.feature] args.app.save() except KeyError: pass @@ -88,12 +89,12 @@ def main(args=None): if args.value is None: try: - print(args.vm.features[args.feature]) + print(vm.features[args.feature]) return 0 except KeyError: return 1 - args.vm.features[args.feature] = args.value + vm.features[args.feature] = args.value args.app.save() return 0