Skip to content

Commit

Permalink
tools/qvm-prefs: handle invalid properties by catching AttributeError
Browse files Browse the repository at this point in the history
This may avoid unneded qubesd call (listing properties).
  • Loading branch information
marmarek committed Mar 9, 2017
1 parent e4c2294 commit 4ffd44d
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions qubesmgmt/tools/qvm_prefs.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,21 +98,24 @@ def process_actions(parser, args, target):
else:
args.property = args.property.replace('-', '_')

if args.property not in [prop.__name__
for prop in target.property_list()]:
parser.error('no such property: {!r}'.format(args.property))

if args.value is not None:
setattr(target, args.property, args.value)
args.app.save()
try:
setattr(target, args.property, args.value)
except AttributeError:
parser.error('no such property: {!r}'.format(args.property))
return 0

if args.delete:
delattr(target, args.property)
args.app.save()
try:
delattr(target, args.property)
except AttributeError:
parser.error('no such property: {!r}'.format(args.property))
return 0

print(str(getattr(target, args.property)))
try:
print(str(getattr(target, args.property)))
except AttributeError:
parser.error('no such property: {!r}'.format(args.property))

return 0

Expand Down

0 comments on commit 4ffd44d

Please sign in to comment.